我唯一想念使用其他编辑器的是用鼠标找到我的位置.我可以用眼睛看到文件上的特定区域,并用鼠标移动并点击一下我就在那里.随着VIM,我必须jjjjjkkkkkjjjjhhhhh ...几乎在那里哦,我错过了3个字符的垃圾,lll.
我正在学习做标记,我找到了一个很棒的书签插件,我可以创建标记并将其销毁<f3>并导航到它们,遗憾的是,当文件关闭时,标记会被遗忘.
你们如何超级导航文件?我知道我也可以做5j7k4j5h等等,但必须有一个插件可以读取我的眼睛并把光标放在我真正需要的地方..
我也学会了使用/%来搜索特定术语.它确实有帮助,但所有匹配的字符都在文档中突出显示.
rom*_*inl 156
试试吧$ vimtutor,它会教你开始时需要知道的一切.
hjkl 是冰山顶端的尖端,很少使用,至少在我的情况下.
wWEe并且BbgegE所有允许逐字移动:
w并e继续前进,W并E考虑空白和标点符号
" here the * marks the default location of the cursor
" and each letter shows where you jump when you hit the key.
Latin: Lorem ipsum dolor sit amet.
* e e e
* E E E
* w w w w w w w
* W W W W W W
Run Code Online (Sandbox Code Playgroud)b并向ge后退,B并gE考虑空白和标点符号
Latin: Lorem ipsum dolor sit amet.
b b b b *
B B B *
ge ge ge*
ge
gE gE gE*
Run Code Online (Sandbox Code Playgroud)fFtT用于到达当前行上的特定字符,并;,用于重复该运动,在相同的方向;和相反的方向上,:
fm跳到下一个m前进,F后退
Latin: Lorem ipsum dolor sit amet.
* fm ; ;
; Fm *
Run Code Online (Sandbox Code Playgroud)tm在下一个m前锋之前跳起,T然后向后跳
Latin: Lorem ipsum dolor sit amet.
* tm ; ;
; Tm *
Run Code Online (Sandbox Code Playgroud)/? 用于从当前光标位置跳转到第一次出现的模式:
/pattern 前进
Latin: Lorem ipsum dolor sit amet.
* /ips
Run Code Online (Sandbox Code Playgroud)?pattern 倒退了
Latin: Lorem ipsum dolor sit amet.
?Lat *
Run Code Online (Sandbox Code Playgroud)0$ 用于跳转到该行的第一个和最后一个字符.
(whitespace)Latin: Lorem ipsum dolor sit amet.(whitespace)
0 * $
Run Code Online (Sandbox Code Playgroud)
^g_ 用于跳转到该行的第一个和最后一个可打印字符.
(whitespace)Latin: Lorem ipsum dolor sit amet.(whitespace)
^ * g_
Run Code Online (Sandbox Code Playgroud)
单个和组合()[]{}用于按代码块逐段或逐段或代码块移动.
<C-b>并<C-f>用于向前和向后滚动屏幕.
<C-u>并<C-d>用于向后和向前滚动半屏.
H,M并将L光标分别移动到视口的顶部,中间,底部.
zt,zz并将zb光标下的线分别移动到视口的顶部,中间,底部.
等等.
:help motion.txt 会打击你的想法.
Vin*_*ent 25
除了vim的动作命令,我发现一个名为EasyMotion的vim插件对于导航非常有用,如果你熟悉vimperator或pentadactyl,EasyMotion只需将提示模式带回vim.这是一个动画演示,这是视频教程.希望它对你有所帮助.
rgc*_*gcb 10
vim有鼠标支持!尝试一下(在你的.vimrc中):
set mouse=a
Run Code Online (Sandbox Code Playgroud)
旁注:作为屏幕用户,我发现我也需要
set ttymouse=xterm2
Run Code Online (Sandbox Code Playgroud)
为此工作.
我个人更喜欢使用:
"/<chars><enter>" to quickly move to somewhere ( extremely fast! trust me! )
":<number>" to go to some line,
"ctrl + f/b" to forward/back
"g;" to move to the last editing place.
"w/b" to move by word
"jklh" to move your cursor to the exact position
Run Code Online (Sandbox Code Playgroud)
使用选项relativenumber(:help relativenumber-包含在Vim 7.3中),您可以使用a [count]k或[count]j移动到达您的眼睛下方的行,您可以ftweb通过@romainl所解释的移动使当前行移动。
除此之外{,},(,),<number>cb,<number>cB,<number>cW和%,我用这样的导航技术:
ciw,diw(ciW,diW)。等快速编辑/删除光标下的单词(包括非空格字符)ci(,ci"(ca(,ca")等来快速编辑括号,引号(包括括号,引号)。同样适用于d。mA将创建A可通过'A命令使用的全局标记(或`A尊重列)。gf 快速进入光标下的文件f,t(F,T)移至char的右(左)字符之前(用于;重复)。这些对于d和c命令特别有用(用于.重复)。^]移至标签并^T移回。还有许多其他移动方式:)
请查看此以获取更多信息:http : //www.thegeekstuff.com/2009/03/8-essential-vim-editor-navigation-fundamentals/
PS对于Rails用户,有一个非常有用的rails-vim插件,您可能也想查看一下。
小智 5
我只有这个图!
\n\xe2\x96\xbc/\xe2\x96\xb6 Cursor \xe2\x96\xbd/\xe2\x96\xb7 Target\nRun Code Online (Sandbox Code Playgroud)\n\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80 0 \n\xe2\x94\x82 \xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80 ^ $ \xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80 Fo fe \xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90 \xe2\x94\x82\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80 To te \xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\xe2\x94\x82 \xe2\x94\x82\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82\xe2\x94\x82 \xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80 ge w \xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90 \xe2\x94\x82\xe2\x94\x82 \xe2\x94\x82\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80 b e \xe2\x94\x80\xe2\x94\x90 \xe2\x94\x82 \xe2\x94\x82\xe2\x94\x82 \xe2\x94\x82 \n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x8ch l\xe2\x94\x90 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82\xe2\x94\x82 \xe2\x94\x82\n\xe2\x96\xbd \xe2\x96\xbd \xe2\x96\xbd\xe2\x96\xbd \xe2\x96\xbd \xe2\x96\xbd \xe2\x96\xbd\xe2\x96\xbc \xe2\x96\xbc\xe2\x96\xbd \xe2\x96\xbd \xe2\x96\xbd \xe2\x96\xbd\xe2\x96\xbd \xe2\x96\xbd\n echo "A cheatsheet from quickref.me"\nRun Code Online (Sandbox Code Playgroud)\n - SCREEN 1 START\n \xe2\x94\x8c\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x96\xb7 #!/usr/bin/python\n \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x96\xb7 \n \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 print("Hello")\n \xe2\x94\x82 \xe2\x94\x82 { } \xe2\x96\xb6 print("Vim")\n \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 print("!")\n \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x96\xb7 \n \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x96\xb7 print("Welcome")\nG gg H M L k j \xe2\x96\xb6 print("to")\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x96\xb7 print("quickref.me")\n\xe2\x94\x82 \xe2\x94\x82 print("/vim")\n\xe2\x94\x82 \xe2\x94\x82 \n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x96\xb7 \n\xe2\x94\x82 - SCREEN 1 END\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x96\xb7 print("SCREEN 2")\nRun Code Online (Sandbox Code Playgroud)\n