在Vim中编辑一个非常长的句子

0as*_*am0 2 sql vim editor

我有一个超过5000个字符的SQL查询.我无法访问鼠标,只有终端Vim编辑器.在测试期间,我需要在这里和那里更改此查询的值.它太长了,在按下页面向下的2个屏幕后出现下一个行号.

因此,如果我需要编辑,我会转到行的开头/结尾并按j k h l需要开始按.这非常烦人.有时,进行搜索有帮助.我希望你能理解这种情况.

如何使编辑更容易?

DJM*_*hem 7

这些设置将极大地帮助您:

"Make long lines wrap
set wrap

"Make wraps *not* occur in the middle of a word
set linebreak

"Make the last line look OK
set display+=lastline

"Make 'j' and 'k' go down a visual line, not an entire line
nnoremap j gj
nnoremap k gk

"Make the arrow keys also go down a visual line
nnoremap <Up> gk
nnoremap <Down> gj

"Allow the option to move up entire lines
nnoremap gj j
nnoremap gk k
Run Code Online (Sandbox Code Playgroud)

由于开头的行"是注释,您可以直接将其复制并粘贴到您的.vimrc.

另一个有用的功能是bar命令|.如果键入200 |,这将跳转到当前行的第200个字符.

如果需要,还可以包含以下设置:

nnoremap $ g$
nnoremap 0 g0
nnoremap g$ $
nnoremap g0 0
Run Code Online (Sandbox Code Playgroud)

使用这些设置,您可以使用g0g$跳转到此视觉行上的第一个/最后一个字符,而不是跳到极长行上的第一个/最后一个字符.这些设置没有坏处,但IMO我发布的第一组设置更有用.