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

Edit an extremely long sentence in Vim

我有一个超过 5000 个字符的 SQL 查询。我无法使用鼠标,只能使用终端 Vim 编辑器。在测试期间,我需要到处更改此查询的值。太长了,按page-down 2屏后出现下一行号。

因此,如果我必须编辑,我会转到该行的 beginning/end 并根据需要开始按 j k h l。这很烦人。有时,进行搜索会有所帮助。我希望你能了解情况。

如何使编辑更容易?

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

"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

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

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

如果需要,您还可以包括这些设置:

nnoremap $ g$
nnoremap 0 g0
nnoremap g$ $
nnoremap g0 0

通过这些设置,您可以使用g0g$跳转到这条视线上的first/last字符,而不是跳转到视线上的first/last字符非常长的线。这些设置没有坏处,但我发布的第一组设置更有用。