vims 파이썬 sripting이 vims 레지스터로 제대로 작동하지 않고 버퍼와 파일을 편집하도록 설계된 것 같습니다. vim packages 명령 중 일부를 사용하여 레지스터에 액세스 할 수 있지만 그다지 좋지는 않습니다.vim에서 파이썬 함수의 레지스터에 액세스 할 수 있습니까
레지스터 을 사용하는 파이썬을 사용하여 vim 함수를 만드는 내 솔루션은 다음과 같습니다.
function printUnnamedRegister()
python <<EOF
print vim.eval('@@')
EOF
endfunction
설정 레지스터는 그러나이 조금 성가신 느낌
function setUnnamedRegsiter()
python <<EOF
s = "Some \"crazy\" string\nwith interesting characters"
vim.command('let @@="%s"' % myescapefn(s))
EOF
endfunction
같은 것을 사용 가능하다 나는 myescapefn이해야 정확히 모르겠어요. 그래서 설정 버전을 제대로 작동시키지 못했습니다.
그래서 만약 더function printUnnamedRegister()
python <<EOF
print vim.getRegister('@')
EOF
endfunction
function setUnnamedRegsiter()
python <<EOF
s = "Some \"crazy\" string\nwith interesting characters"
vim.setRegister('@',s)
EOF
endfunction
또는 매우 편리 할 것입니다 그때 사용할 수 myescapefn 심지어 좋은 버전처럼 뭔가를 할 수있는 방법이있다.
업데이트 : 파이썬이 조각을 사용하고 ZYX으로 솔루션을 기반으로
def setRegister(reg, value):
vim.command("let @%s='%s'" % (reg, value.replace("'","''")))
'파이썬 >> EOF' 결과를. 어쩌면 당신은'python << EOF'를 사용할 것인가? – ZyX
그리고'endfunction'을 잊어 버렸습니다. – ZyX
Thx ZyX. 이제 해결되었습니다. –