`
hyshucom
  • 浏览: 810455 次
文章分类
社区版块
存档分类
最新评论

vim的使用方法

 
阅读更多
不要试图一次记下很多
每次掌握最需要的两三个技巧
然后多多熟悉 嗯 这样总有一天 突然发现你是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 向上移动到前一折叠的结束处。关闭的折叠也被计入
分享到:
评论

相关推荐

    vi,vim使用方法讲解

    vi,vim使用方法讲解 最详细的vim使用教程

    linux下编辑工具vim 使用方法

    linux下的编辑工具 vim使用方法(转) 快速入门 挺详细的

    VIM使用方法

    VIM的使用帮助,方法等等,可以快速的学习到VIM的使用。很好很强大。

    vi/vim 使用方法讲解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他...

    vim的使用方法和常见问题解决方法

    vim的使用方法和常见问题解决方法 vim的使用方法和常见问题解决方法 vim的使用方法和常见问题解决方法 vim的使用方法和常见问题解决方法 vim的使用方法和常见问题解决方法

    vim使用进阶:vim使用技巧、配置、命令和插件

    本文主要介绍: vim的使用技巧、 ...本文介绍了如何使用vimgdb补丁在vim中用gdb调试程序,同时还介绍了vim的编译方法。然而,vim只是一个编辑器,而不是一个集成开发环境(IDE),所以它对调试的支持很有限。

    vi vim 使用详解

    很详细的描述VI vim使用方法 不同模式下的操作方法 快捷键等等 提高开发效率

    vi/vim 基本使用方法

    vi/vim 基本使用方法vi/vim 基本使用方法

    vim 全文字符串替换

    vim全文字符串替换,vim使用方法,说明

    自用的vim及使用手册

    自用的vim 现将它的整个目录、配置文件以及从网上搜集的vim使用方法都集中在一起。以后即使系统重装,直接解压覆盖就可以想往常一样正常使用。

    linux_vim使用帮助文档

    详细讲解LINUX系统中VIM编辑器的使用方法。

    vim 使用教程

    vim 的操作方法,和vim的常用配置等。

    笨方法学 Vim Script

    笨方法学 Vim Script

    Vim使用技巧

    本书示例丰富,讲解清晰,采用一种简单的标记方法,表示交互式的编辑效果,可以帮助读者快速掌握和精通 Vim。 本书适合想要学习和掌握 Vim 工具的读者阅读,有一定 Vim 使用经验的程序员,也可以参考查阅以解决特定...

    (带详细书签)VIM使用技巧(人民邮电出版社)

    Vim 是一款功能丰富而强大的文本编辑器,其代码补全、编译及错误跳转等方便 编程的功能特别丰富,在程序员中得到非常广泛的使用。...本书适合想要学习和掌握 Vim 工具的读者阅读,有一定 Vim 使用经验的程序员。

    VIM配置的使用方法

    VIM配置的使用方法,是你对VIM使用更加方面,直观,易懂。

    vim—ubuntu 使用详解

    vi vim 使用 vim 编辑器 首先简单的说一下vi编辑器──unix的通用编辑器, 读作vee-eye (visual editor的简写)。 (这里的vim,是改进的vi, Vi Improved简写,Vim 由Bram Moolenaar编写) vi的工作模式 分为命令...

    VIM使用讲解.pdf

    vim 的使用 第一讲 • 移动光标 • VIM的进入和退出 • 文本编辑之删除 • 文本编辑之插入 • 小结 第二讲 • 删除类命令 • 其他删除类命令 • 关于命令和对象 • 对象命令的特殊情况 • 撤消类命令 • 小结 第三讲...

    Vim实用技巧电子书

    《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...

Global site tag (gtag.js) - Google Analytics