Vim导航笨拙

时间:2010-12-31 20:35:57

标签: vim

我已经致力于深入研究vim,以便更快地为ruby / python编写代码,并且我很难在文件中导航。

主要是指我在插入模式和导航模式之间切换。也许我还没有完全习惯编辑器,但是不断切入和退出插入模式感觉非常尴尬。

这会随着时间而消失吗?是否有任何技巧可以更快地进入和退出插入模式?

3 个答案:

答案 0 :(得分:7)

阅读这篇优秀文章的“误解#1”部分:http://www.viemu.com/a-why-vi-vim.html

答案 1 :(得分:6)

许多人喜欢将jjjk定义为在插入模式下输入以返回正常模式(而不是击中逃生)时要输入的内容,这样可以保持您的主动行和速度事情。你可以把它放在你的.vimrc中来做这个映射(或者只选择其中一个):

inoremap jj <ESC>
inoremap jk <ESC>

如果你真的需要输入这些字符串中的任何一个(对我来说非常罕见),你可以输入第一个字母并暂停几秒钟,然后键入第二个字符串。

我还发现在正常模式下真正理解所有的移动键有助于理解vim内的移动能力以及它如何让你到达你想要更快的地方(从而抵消和击败拥有的开销)进入/退出插入模式)。

为此,我将a vim movement wallpaper聚集在一起,专门用于直观地显示相对于当前光标位置(屏幕中心)的各种移动命令。有了这个,帮我把它们记住了,并且让我很多更快。

此外,了解各种基本插入键,可帮助您在正确的位置进入插入模式:

  • i - 在光标所在的字母前插入
  • a - 在光标所在的字母后面追加
  • I - 插入当前行的开头
  • A - 附加在当前行的末尾
  • o - 在当前行下面打开一个新行
  • O - 在当前行上方打开一个新行

还应该学习/理解各种删除,更改,替换和查找/替换regexp命令。

答案 2 :(得分:0)

我只有这张图,看来可以节省你的时间!

    id Number  Type  Class Name                    did       NId   Att  \
0  292      C     1      2    A  {'id': '1', 'num': 1}  a1,b1,c1  None   
0  292      C     1      2    A  {'id': '2', 'num': 1}  a1,b1,c1  None   
1  293      C     1      2    A  {'id': '3', 'num': 1}  a1,b1,c1  None   

   isnull number                                              label codes  \
0   False    M90  [{'title': 'Dear', 'Info': {'Id': None, 'id2':...    []   
0   False    M90  [{'title': 'Dear', 'Info': {'Id': None, 'id2':...    []   
1   False    M90  [{'title': 'Dear', 'Info': {'Id': None, 'id2':...    []   

   rule  
0  None  
0  None  
1  None
▼/▶ Cursor   ▽/▷ Target
┌───────────── 0      
│  ┌────────── ^      $ ──────────────┐
│  │  ┌─────── Fo     fe ────────┐    │
│  │  │┌────── To     te ───────┐│    │
│  │  ││ ┌──── ge     w ───┐    ││    │
│  │  ││ │ ┌── b      e ─┐ │    ││    │ 
│  │  ││ │ │  ┌h      l┐ │ │    ││    │
▽  ▽  ▽▽ ▽ ▽  ▽▼      ▼▽ ▽ ▽    ▽▽    ▽
   echo "A cheatsheet from quickref.me"