VIM:插入新行,然后按Escape键将光标移动到行的开头
编辑python文件时,插入新行后按VIM:插入新行,然后按Escape键将光标移动到行的开头,vim,vi,Vim,Vi,编辑python文件时,插入新行后按,光标将一直移动到行的开头(即第0列)。如何阻止这种行为?当我想在新行上粘贴一些东西时,这真的很烦人 以下是我的相关.vimrc设置: set softtabstop=2 set expandtab set shiftwidth=2 set smartindent 如果在按Esc键之前编辑该行(如按空格键),则Vim将保持缩进完整。如果编辑该行(如按空格键)在按下Esc键之前,Vim将保持缩进不变。如果您的目标是在使用o或o启动后将内容粘贴到新行上,则不必为
,光标将一直移动到行的开头(即第0列)。如何阻止这种行为?当我想在新行上粘贴一些东西时,这真的很烦人
以下是我的相关.vimrc设置:
set softtabstop=2
set expandtab
set shiftwidth=2
set smartindent
如果在按Esc键之前编辑该行(如按空格键),则Vim将保持缩进完整。如果编辑该行(如按空格键)在按下Esc键之前,Vim将保持缩进不变。如果您的目标是在使用
o
或o
启动后将内容粘贴到新行上,则不必为其进入正常模式
只需键入Control-R“
即可从默认寄存器直接从插入模式粘贴
更一般地说,您可以键入
Control-R
从插入模式从该寄存器中粘贴。如果您的目标是在使用o
或o
启动新行后将其粘贴到新行上,则不必为其进入正常模式
只需键入Control-R“
即可从默认寄存器直接从插入模式粘贴
一般来说,您可以键入
Control-R
以从插入模式从该寄存器粘贴。从正常模式,快速==
将使用缩进设置将行缩进到它应该位于的任何位置。至少对我来说是这样的。我的vimrc中的相关缩进部分:
if has("autocmd")
filetype plugin indent on
endif
在正常模式下,快速缩进将使用缩进设置将行缩进到它应该位于的任何位置。至少对我来说是这样的。我的vimrc中的相关缩进部分:
if has("autocmd")
filetype plugin indent on
endif
您可以添加映射,以便在触发自动缩进时插入单个字符,然后删除:
:nnoremap o ox^H
:nnoremap O Ox^H
:inoremap <enter> <enter>x^H
:nnoremap o ox^H
:nnoremap O Ox^H
:inoremap x^H
^H
必须通过按ctrl+vctrl+H来引入。
所以不要复制粘贴。您可以添加映射,以便在触发自动缩进时插入单个字符,然后删除:
:nnoremap o ox^H
:nnoremap O Ox^H
:inoremap <enter> <enter>x^H
:nnoremap o ox^H
:nnoremap O Ox^H
:inoremap x^H
^H
必须通过按ctrl+vctrl+H来引入。
所以不要复制粘贴。如果您已经按了Esc键或稍后要返回到该行,则很容易获得缩进以进行编辑或粘贴
只需使用cc编辑行,重新应用自动缩进并使您进入插入模式。然后,您可以开始键入或使用CTRL+R+从系统剪贴板从当前光标位置粘贴
注:如果您停止编辑行而不输入任何文本,Vim将再次删除缩进。这是有意的,因为它可以防止浪费性的尾随空格散落在文件中。如果您已经按了Esc键或稍后要返回该行,则很容易获得缩进以进行编辑或粘贴
只需使用cc编辑行,重新应用自动缩进并使您进入插入模式。然后,您可以开始键入或使用CTRL+R+从系统剪贴板从当前光标位置粘贴
注:如果您停止编辑行而不输入任何文本,Vim将再次删除缩进。这是有意的,因为它可以防止浪费性的拖尾空格散落在文件中。我只使用^H,而不是我自己。更清晰,无需特殊说明即可进入。我只需使用^H,而不是我自己。更清晰,无需特殊说明即可输入。特殊情况:如果您从VIM外部复制了内容,则可以从系统剪贴板使用
Control-R+
到过去。特殊情况:如果您从VIM外部复制了内容,则可以从系统剪贴板使用Control-R+
到过去。