`
- 浏览:
810455 次
-
不要试图一次记下很多
每次掌握最需要的两三个技巧
然后多多熟悉 嗯 这样总有一天 突然发现你是vim达人了
-----------------------------------------------
写在前面:
vim是一款相当出色的编辑器(或者已经超越了编辑器的范畴),现在觉得使用鼠标是件很麻烦的事。不由自主的会在word中按Esc,也会在UE中按:q,好奇怪
下面主要介绍了vi最常用,也最有用的tips,比如”fx”命令找到当前行中下一个字母x,比如”`.”返回上次编辑的地方,比如”ma”插入一个标签a,并使用”`a”来返回到该标签,还有”shift+c”删除到行末并直接进入插入模式….
——————————我是分割线———————-
vim模式与命令
通常模式(n) 在其它任何一个模式下,用ESC或者 ctrl+c 键可以退到通常模式
插入模式(i) 在这个模式下,vim像一个常见的编辑器.在通常模式下,用i或者a可以进行本模式,当然,还有一些其它命令也可以
可视模式(v) 在这个模式下,可以使用hjkl进行选择.然后进行copy,paste或者其它操作. 在通常模式下,用v命令进入可视模式
块操作模式(V) 这是块操作模式. 在通常模式下,用ctrl+v进入本模式
修改模式(R) 这是改写的模式.很多软件法用insert键来完成这个切换.在vim中,从通常模式用R即可进入改写模式
扩展命令模式(ex) 这是命令执行模式 在通常模式下用:切换到此模式
Hint: 使用时一般处于通常模式或者插入模式,需要Copy/Paste时会用到可视模式。一般来说,vim新人偏爱插入模式,并通过键盘右下角的方向键移动光标,但是,插入模式的vim功能与windows记事本相当,通常模式下才可以发挥vim的高效编辑等功能。
vim基本编辑技巧
消除行尾空白字符 :%s/s+$//g
Tab键转为4个空格 :%s/t/ /g (/g前有4个空格)
h、j、k、l vim用来代替方向键,习惯以后编辑更加高效
在当前行高效移动光标
fx:移动光标到当前行的下一个 x 处。很明显,x 可以是任意一个字母,而且你可以使用 ; 来重复你的上一个 f 命令。
tx:和上面的命令类似,但是是移动到 x 的左边一个位置。(这真的很有用)
Fx:和 fx 类似,不过是往回找。
w:光标往前移动一个词。
b:光标往后移动一个词。
0:移动光标到当前行首。
^:移动光标到当前行的第一个字母位置。
$:移动光标到行尾。
在整个文件里面高效移动光标
:向下移动一屏。
:向上移动一屏。
%:跳到匹配的左/右括号上
gg:到文件头
G:到文件尾
zz:移动当前行到屏幕中央
zt:移动当前行到屏幕顶部
zb:移动当前行到屏幕底部
*:读取光标处的字符串,并且移动光标到它再次出现的地方。
#:和上面的类似,但是是往反方向寻找。
/text:从当前光标处开始搜索字符串 text,并且到达 text 出现的地方。必须使用回车来开始这个搜索命令。如果想重复上次的搜索的话,按 n。
?text:和上面类似,但是是反方向。
ma:在当前光标的位置标记一个书签,名字为 a。书签名只能是小写字母。你看不见书签的存在,但它确实已经在那里了。
`a:到书签 a 处。注意这个不是单引号,它位于键盘的 1 的左边。
`.:到你上次编辑文件的地方。这个命令很有用,而且你不用自己去标记它
高效输入/删除
i:在当前字符的左边插入
I:在当前行首插入
a:在当前字符的右边插入
A:在当前行尾插入
o:在当前行下面插入一个新行
O:在当前行上面插入一个新行
dd:删除当前行
d$/d^:删除到行末/行首
c{motion}:删除 motion 命令跨过的字符,并且进入插入模式。比如:c$,这将会删除从光标位置到行尾的字符并且进入插入模式。ct!,这会删除从光标位置到下一个叹号(但不包括),然后进入插入模式。被删除的字符被存在了剪贴板里面,并且可以再粘贴出来。
按v进入可视模式,选中多行后按=自动格式化
查找技巧
/xxx(?xxx) 表示在整篇文档中搜索匹配xxx的字符串, / 表示向下查找, ? 表示向上查找. 查找到以后, 再输入 n 查找下一个匹配处, 输入 N 反方向查找.
*(#) 当光标停留在某个单词上时, 输入这条命令表示查找与该单词匹配的下(上)一个单词. 同样, 再输入 n 查找下一个匹配处, 输入 N 反方向查找.
g*(g#) 此命令与上条命令相似, 只不过它不完全匹配光标所在处的单词, 而是匹配包含该单词的所有字符串.
gd 查找与光标所在单词相匹配的单词, 并将光标停留在文档的非注释段中第一次出现这个单词的地方.
% 查找与光标所在处相匹配的反括号, 包括 () [] {}
f(F)x 在光标所在行进行查找, 查找光标右(左)方第一个x字符.找到后:输入 ; 表示继续往下找;输入 , 表示反方向查找
插入if条件语句后,有以下三种代码块缩进的方法:
用shift-v选中这几行,然后用>向右缩进
>nj ,n 为行数 (>表示缩进,nj表示向下移动n行)
把光标放在第一个大括号{上, 然后按%=使vim自动缩进
vim高级技巧
多窗口编辑器
创建窗口:new(当前窗口上方创建新窗口)和vnew(当前窗口左侧创建新窗口)
分裂窗口:split(水平)和vsplit(垂直)
改变当前窗口的大小:
+ (增大)
- (减小)
_ (窗口高度最大化)
| (窗口宽度最大化)
= (恢复所有窗口同样大小)
切换窗口 方向键
j 切换到当前窗口下方的窗口
k 切换到当前窗口上方的窗口
h 切换到当前窗口左侧的窗口
l 切换到当前窗口右侧的窗口
重复某个动作若个次:数字 + 动作,例如:
2dd 删除两行
10 + 将当前窗口增加10行
注释多行代码:按ctrl+v后选中多行,然后按shift+i进入插入模式,插入若干字符后按ESC后会在选中的所有行前面都插入相同的字符
vim代码折叠
折叠方式 可用选项 ‘foldmethod’ 来设定折叠方式:set fdm=*****。
有 6 种方法来选定折叠:
manual 手工定义折叠
indent 更多的缩进表示更高级别的折叠
expr 用表达式来定义折叠
syntax 用语法高亮来定义折叠
diff 对没有更改的文本进行折叠
marker 对文中的标志折叠
注意,每一种折叠方式不兼容,如不能即用expr又用marker方式,我主要轮流使用indent和marker方法
折叠命令
选取了折叠方式后,我们就可以对某些代码实施我们需要的折叠了,由于我使用indent和marker稍微多一些,故以它们的使用为例:如果使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。
在可折叠处(大括号中间):
zc 折叠
zC 对所在范围内所有嵌套的折叠点进行折叠
zo 展开折叠
zO 对所在范围内所有嵌套的折叠点展开
[z 到当前打开的折叠的开始处。
]z 到当前打开的折叠的末尾处。
zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk 向上移动到前一折叠的结束处。关闭的折叠也被计入
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
vi,vim使用方法讲解 最详细的vim使用教程
linux下的编辑工具 vim使用方法(转) 快速入门 挺详细的
VIM的使用帮助,方法等等,可以快速的学习到VIM的使用。很好很强大。
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他...
vim的使用方法和常见问题解决方法 vim的使用方法和常见问题解决方法 vim的使用方法和常见问题解决方法 vim的使用方法和常见问题解决方法 vim的使用方法和常见问题解决方法
本文主要介绍: vim的使用技巧、 ...本文介绍了如何使用vimgdb补丁在vim中用gdb调试程序,同时还介绍了vim的编译方法。然而,vim只是一个编辑器,而不是一个集成开发环境(IDE),所以它对调试的支持很有限。
很详细的描述VI vim使用方法 不同模式下的操作方法 快捷键等等 提高开发效率
vi/vim 基本使用方法vi/vim 基本使用方法
vim全文字符串替换,vim使用方法,说明
自用的vim 现将它的整个目录、配置文件以及从网上搜集的vim使用方法都集中在一起。以后即使系统重装,直接解压覆盖就可以想往常一样正常使用。
详细讲解LINUX系统中VIM编辑器的使用方法。
vim 的操作方法,和vim的常用配置等。
笨方法学 Vim Script
本书示例丰富,讲解清晰,采用一种简单的标记方法,表示交互式的编辑效果,可以帮助读者快速掌握和精通 Vim。 本书适合想要学习和掌握 Vim 工具的读者阅读,有一定 Vim 使用经验的程序员,也可以参考查阅以解决特定...
Vim 是一款功能丰富而强大的文本编辑器,其代码补全、编译及错误跳转等方便 编程的功能特别丰富,在程序员中得到非常广泛的使用。...本书适合想要学习和掌握 Vim 工具的读者阅读,有一定 Vim 使用经验的程序员。
VIM配置的使用方法,是你对VIM使用更加方面,直观,易懂。
vi vim 使用 vim 编辑器 首先简单的说一下vi编辑器──unix的通用编辑器, 读作vee-eye (visual editor的简写)。 (这里的vim,是改进的vi, Vi Improved简写,Vim 由Bram Moolenaar编写) vi的工作模式 分为命令...
vim 的使用 第一讲 • 移动光标 • VIM的进入和退出 • 文本编辑之删除 • 文本编辑之插入 • 小结 第二讲 • 删除类命令 • 其他删除类命令 • 关于命令和对象 • 对象命令的特殊情况 • 撤消类命令 • 小结 第三讲...
《vim实用技巧》示例丰富,讲解清晰,采用一种简单的标记方法,表示交互式的编辑效果,可以帮助读者快速掌握和精通vim。 《vim实用技巧》适合想要学习和掌握vim工具的读者阅读,有一定vim使用经验的程序员,也可以...
本文使用Vim模型实现图像分类任务,模型选择最小的vim_tiny_patch16_224_bimambav2_final_pool_mean_abs_pos_embed_rope_also_residual_with_cls_token(这个方法的名字比较长。。。。。),在植物幼苗分类任务ACC...