Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 导航笨重_Vim - Fatal编程技术网

Vim 导航笨重

Vim 导航笨重,vim,Vim,我一直致力于钻研vim,以便更快地为ruby/python编写代码,而且我很难在文件中导航 主要是指在插入模式和导航模式之间切换。也许我还不完全习惯这个编辑器,但是不断地切换插入模式和退出插入模式感觉非常尴尬 这会随着时间而消失吗?有什么诀窍可以加快插入和退出插入模式的速度吗?阅读这篇优秀文章的“误解1”部分:许多人喜欢将jj或jk定义为在插入模式下键入以返回正常模式(而不是按escape)的内容,这会让你的手一直放在家里的那一排,加快速度。您可以将其放入.vimrc中进行映射(或者只选择其中一

我一直致力于钻研vim,以便更快地为ruby/python编写代码,而且我很难在文件中导航

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


这会随着时间而消失吗?有什么诀窍可以加快插入和退出插入模式的速度吗?

阅读这篇优秀文章的“误解1”部分:

许多人喜欢将
jj
jk
定义为在插入模式下键入以返回正常模式(而不是按escape)的内容,这会让你的手一直放在家里的那一排,加快速度。您可以将其放入.vimrc中进行映射(或者只选择其中一个):

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

我还发现,在正常模式下真正理解所有移动键有助于理解vim中移动的力量,以及它如何让您更快地到达您想要去的地方(从而抵消和克服进入/离开插入模式的开销)

为此,我集中精力直观地显示相对于当前光标位置(屏幕中心)的各种移动命令。有了这个,帮助我记住它们,让我更快

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

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

接下来可能还会学习/理解各种delete、change、substitution和find/replace regexp命令。

我只有这个图表,看起来它可以节省您的时间

▼/▶ Cursor   ▽/▷ Target

我使用jj键绑定退出插入模式。它变成了第二天性。。。有时太多了(我在Vim会话后经常在Visual Studio中键入jj)。我使用
jk
,我可以强烈推荐它<代码> JJ 也是一个很好的选择,但我个人更喜欢前者,实际上我可以考虑使用JK。这很简单,而且(稍微)快一点。它还有一个优点,那就是你很少能找到(英语中)连续出现这些字母的单词。当你使用它时,你会感到更舒服。你还会发现做同样的事情有很多方法(或多或少),你会找到一种适合你的方法。我发现在Vim中,您总是在学习新的做事方法。如果这听起来有冲突性,我很抱歉,但是如果模态编辑几乎是Vim的主要区别特征,那么您为什么要使用
Vim
(与其他高级编程友好编辑器/IDE相反)?(任何其他功能都可能在其他编辑器中找到)。对于完全公开,我可以使用VI当我需要,但绝不会考虑VIM作为我的主要编辑器,因为我无法适应模式,即使在10年以上的熟悉VI。我不认为这有什么问题。对于一些人(比如我)来说,模态编辑感觉很自然,处于“正常”模式可以让你用很少的按键和最少的和弦来导航/删除/拖动/更改各种事情。@ted-问题不在于vim所要求的模态思维。正如你所说的,有些人对此很感兴趣。问题是,为什么有人会选择vim而不是另一个编辑器,除非模态思维已经在他们的特性列表中的大优点(或非缺点)?我不是说vim没有任何有用的特性,我只是问它有哪些非模态编辑器缺少的特性。如果答案是“无”,Sean最好尝试使用非vi编辑器进行比较。@DVK我知道你现在得到了什么。模态编辑确实是vim最大的优势。它具有的其他特性(良好的脚本能力、良好/充满活力的有用社区、普遍性、快速启动时间)并不是vim独有的。如果modal thinking没有点击OP,我同意你的观点,经过不懈的努力,另一个编辑器/IDE可能是更好的选择。当我完成插入时总是点击
,这是我的手指很久以来就知道的事情,但我从未真正想过。富有洞察力的
▼/▶ Cursor   ▽/▷ Target
┌───────────── 0      
│  ┌────────── ^      $ ──────────────┐
│  │  ┌─────── Fo     fe ────────┐    │
│  │  │┌────── To     te ───────┐│    │
│  │  ││ ┌──── ge     w ───┐    ││    │
│  │  ││ │ ┌── b      e ─┐ │    ││    │ 
│  │  ││ │ │  ┌h      l┐ │ │    ││    │
▽  ▽  ▽▽ ▽ ▽  ▽▼      ▼▽ ▽ ▽    ▽▽    ▽
   echo "A cheatsheet from quickref.me"
                 - SCREEN 1 START
   ┌─┬─────────▷ #!/usr/bin/python
   │ │     ┌───▷     
   │ │     │     print("Hello")
   │ │     { } ▶ print("Vim")
   │ │       │   print("!")
   │ │       └─▷    
   │ │ ┌───┬───▷ print("Welcome")
G gg H M L k j ▶ print("to")
│        │   └─▷ print("quickref.me")
│        │       print("/vim")
│        │     
│        └─────▷ 
│                - SCREEN 1 END
└──────────────▷ print("SCREEN 2")