Vim文件操作常用技巧

Vim文件操作从同时操作多个文件和打开和保存文件两个方面进行总结。

(一)Vim同时操作多个文件

一个文件夹下有vitest、vitest2两个txt文件。同时操作两个文件。同时操作两个文件可以通过命令 'vim *.txt' 或者 'vim vitest.txt vitest2.txt' 来完成。此时进入文件操作界面与操作一个文件时的界面似乎没有差别。

①缓冲区列表

多个文件同时放入缓冲区可以通过 ':ls' 命令来查看,切莫与shell的ls命令搞混。

ls查看缓冲区
②缓冲区列表操作

通过 ':ls' 查看缓冲列表,可以通过命令在各个文件之间进行切换。
常见命令:

bnext : 跳转下一个
bprev  :  跳转上一个
bfirst   :  跳转到第一个
blast   :  跳转到最后一个

输入命令比如 'bnext' 后,再通过 'ls' 查看,列表显示发生一些变化;

发生变化

'%' 表示当前在窗口中的文件是哪个。'#' 代表轮换文件。可以通过 'Ctrl + ^' 在当前文件和轮换文件之间进行转换。
当删除缓冲区中文件时,可以通过 'bdelete 文件名' 完成删除操作。

③管理隐藏缓冲区

当对vitest1.txt进行操作后,通过 'bnext' 进行切换时,会无法切换

警告

会提示切换前更新未写入。但此时并非不能切换,执行强制切换即可。 'bnext!'完成强制转换。完成转换后,通过 'ls' 查看列表,会发现又有新的变动。

隐藏缓冲区

'#' 之后多了 'h +' 两个字符, 'h' 表示一个隐藏缓冲区,即未进行写入的更改。保存更改的常见命令如下:

w[rite]  :  写入当前文件的写改
e[dit] ! :  放弃当前文件的修改
wa[ll] ! :  写入所有修改
qa[ll] !  :  关闭窗口,放弃所有修改
④创建分割窗口

这个就比较有意思了,可以通过 'Ctrl + w + s' 水平切分当前窗口。


水平切分

通过 'Ctrl + w + v' 完成垂直切分

垂直切分

当然,切分之后的子窗口也可以继续切分。
切分时,可以指定新的窗口载入其他文件通过 'sp[lit] 文件名' 的方式完成。例如 'sp vitest1':

载入vitest1文件

如果想垂直切分窗口载入新文件,通过 'vsp[lit] 文件名' 来完成。
窗口间切换常用命令:

Ctrl + w + w  :  窗口间循环切换
Ctrl + w + h   :  切换到左边窗口
Ctrl + w + l    :  切换到右边窗口
Ctrl + w + j   :  切换到下边窗口
Ctrl + w + k  :  切换到上边窗口

关闭窗口的方式:

:clo[se]  :  关闭当前窗口
:on[ly]   :  只保留当前窗口

(二)打开及保存文件

通过 'vim 文件名' 的方式打开文件是最常用的方式。但这节讨论的是在已经打开vim的情况下打开文件的操作。

①通过 ':edit' 命令打开

当前在vitest1.txt中,通过 'edit' 命令打开vitest2.txt。

打开vitest3.txt
打开文件

②'edit' 命令文件路径操作

查看当前文件相对于当前所在目录的文件路径,使用命令 'edit %<Tab>' 完成。例如当前在/home目录下,执行vim chuck/vitest1.txt,在vitest1.txt中输入上述命令:

edit %

按下Tab键,发生如下改变

显示当前相对路径

如果使用 ':edit %:h<Tab>',效果如下

显示相对目录路径

':h' 将隐藏文件名,保留其余路径。

③使用netrw管理文件系统

现在在/home/chuck/viexe目录下有vitest1.txt,vitest2.txt,vitest3.txt三个文件。输入 'vim .' 进入vim的原生文件管理器netrw。

netrw文件管理器

通过 'j'、 'k' 控制上下,选择希望操作的文件,然后按回车键即可进行操作。也可以选择 '../<CR>' 到达上一级目录。
当然这是在终端中进入netrw,如果当前已经在使用vim操作文件,如何进入文件系统?使用 ':edit' 命令,如果是操作当前目录,只需要 ':edit .' 即可进入当前目录的文件管理系统。其他目录可以通过 ':edit 绝对/相对路径' 即可。

④保存文件

普通的保存通过 'w' 命令即可。但如果是保存到尚不存在的目录中。比如vim /home/chuck/viexe/sub/test.vim。而此时的viexe中并不存在sub目录,如果正常保存会发生:

无法写入

需要两步走。第一步创建目录,通过 ':!mkdir -p %:h',输入回车键

创建目录

此时再通过 'w' 写入,即可完成写入。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容