在 vim 中跳转到同一行

在 vim 中跳转到同一行

我有以下格式的日志文件

'date' 'filename' 'something 'return status'

状态经常超出我的屏幕范围。当我阅读“某些内容”时,我按 End 键查看状态,按 Home 键查看文件名。但如何返回同一行上的确切位置?我需要类似双反引号的功能,但即使在同一行,它也会返回到最后一个位置。

编辑:

  1. 设置换行会使日志难以跟踪。
  2. 每隔一行使用标记太麻烦了。我知道这是吹毛求疵,而且我在这里很懒。

用 2 个键就能完成的事情就很棒了。marks 总共使用了 4 个键。

答案1

首先,您可以:set wrap看到整条线,软包装。

其次,marks 也能很好地完成此操作,在一行内也是如此。只需确保使用命令`{mark}而不是'{mark},例如ma后跟`a

最后,还有几个z...水平滚动的命令;也就是说,它们甚至不会移动光标,但仍可能允许您查看缺失的文本。它们在 下有解释:help scroll-horizontal

答案2

我建议这样的事情:

nnoremap <left>  ?'\S.\{-}'<CR>
nnoremap <right> /'\S.\{-}'<CR>

这些映射使您能够非常轻松地从一个项目跳转到另一个项目。

x标记您当前的位置:

'date' 'filename' 'something' 'return status'
←      ←          ←           x
←      ←          x           →
←      x          →           →
x      →          →           →

Vim 的优点之一是它为您提供了各种通用的低级构建块,这些构建块可以相对容易地组装成特定的高级工具。

相关内容