Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 写入缓冲区时,Vim将光标返回到文件中的同一点_Macos_Vim - Fatal编程技术网

Macos 写入缓冲区时,Vim将光标返回到文件中的同一点

Macos 写入缓冲区时,Vim将光标返回到文件中的同一点,macos,vim,Macos,Vim,光标正在反弹到文件的顶部,但在写入缓冲区时,应该返回到文件中的同一点? 有人能看出我错在哪里吗 function! ResCur() if line("'\"") <= line("$") normal! g`" return 1 endif endfunction augroup resCur autocmd! autocmd BufWriteCmd * call ResCur() augroup END 函数!Res

光标正在反弹到文件的顶部,但在写入缓冲区时,应该返回到文件中的同一点? 有人能看出我错在哪里吗

function! ResCur() 
  if line("'\"") <= line("$")
    normal! g`"          
    return 1
  endif
endfunction

augroup resCur      
  autocmd!
  autocmd BufWriteCmd * call ResCur()
augroup END
函数!ResCur()
如果行(“\”)我可能应该引用:

如何配置Vim以在上次编辑的位置打开文件

Vim存储每个位置上次编辑位置的光标位置 “”寄存器中的缓冲区。您可以在应用程序中使用以下autocmd .vimrc或.gvimrc文件以在上次编辑的位置打开文件:

au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") |
                     \ exe "normal g'\"" | endif
触发调用的事件是问题所在。BufWriteCmd更多地用于修改写入操作的行为。但您希望更改文件加载到缓冲区的方式。在本例中,BufReadPost是一个队列,每当将现有文件加载到新缓冲区时,它都会排队。

要检查是否设置了“``标记,可以使用doc
au BufReadPost*if line(“\”)>1&&line(“\”)中的示例
:help '"
:help last-position-jump