vim技巧:打开文件跳转到指定行,关闭所有文件,记住打开的文件

傅秋芳
• 阅读 8212

本篇文章介绍 vim 的一些使用技巧:

  • 打开文件时光标自动跳转到指定行,包括行末
  • 一次性关闭所有文件
  • 使用 session 保存会话,记住打开的文件列表,以便后面恢复

打开文件时光标自动跳转到指定行

在 vim 中,可以用下面命令指定打开文件后,自动跳转到哪一行:

vim +[num] filename

这个命令会在打开 filename 文件时,光标自动跳转到 num 行。这个 num 是可选值。如果没有提供该参数,只写为 + 时,则自动跳转到文件末尾。

即,vim + filename 命令在打开 filename 文件时,光标会自动跳转到文件末尾。

查看 man vim 的说明如下:

+[num]
For the first file the cursor will be positioned on line "num". If "num" is missing, the cursor will be positioned on the last line

在实际使用时,也可以先写文件名,再写 +[num]。例如,vim filename +4 命令会在打开 filename 文件时,自动跳转到第 4 行。

一次性关闭所有文件

使用 vim 同时打开多个文件 buffer、或者打开多个窗口文件时,如果文件改动都已经保存,可以使用 :qall 命令来一次性关闭所有文件,直接退出 vim。该命令可简写为 :qa

如果部分文件改动还没有保存,且想要丢弃文件改动,可以使用 :qa! 命令。

查看 :help qa 的说明如下:

:qa[ll]
Exit Vim, unless there are some buffers which have been changed.

使用session保存会话

Vim 的 session 类似于 Source Insight 的工程,也可以类比为其他IDE的工程。使用 session 可以可以保存打开的文件列表、窗口大小、当前选项设置等信息。

结合 viminfo 一起使用,可以保存命令历史、标记信息、寄存器信息等。

在编辑、或者查看多个文件时,可以用这个机制保存vim状态,下次打开vim可以重新恢复到之前的状态,自动打开多个文件,不用再手动逐个打开想要查看的文件。

:mksession [file] 命令保存当前 session 到一个 vim 脚本文件里面。 [file] 是可选参数,指定要保存的文件名。如果没有提供,默认名是 Session.vim

:source {file} 加载 {file} 指定的 vim 脚本文件。如果传入的是之前保存的 session 脚本文件名,就会恢复到指定的session。{file} 是必选参数,必须提供。

也可以用 vim -S filename 命令在打开 vim 时就加载指定的脚本文件,恢复到该脚本文件保存的状态。例如之前打开了多个文件,此时会自动打开这些文件。

:help :mksession 命令查看保存 session 的帮助说明。
:help :source 命令查看该命令的帮助说明。

点赞
收藏
评论区
推荐文章
半臻 半臻
4年前
Python基础8——文件操作
16文件操作16.1文件操作的基本概念文件操作的步骤1.打开文件2.读、写文件3.关闭文件open函数,创建一个file对象,默认是以只读的方式打开read方法:一次性读取文件的所有内容write方法:将指定内容写入文件close方法:关闭文件file对象的属性flie.name文件的名称file.mode文件的访问模式file.closed
胖大海 胖大海
2年前
Linux centos7设置禁Ping
1.打开配置文件vim /etc/sysctl.conf2.修改配置文件,在底部新加一行net.ipv4.icmpechoignoreall13.修改完成后执行sysctlp使新配置生效sysctlp4.验证这样就说明设置成功了,缺乏机器练手的小伙伴可以3A网络看看!
焦飞 焦飞
4年前
vi 编译器使用
打开/创建文件bashvitest.py打开后进行修改注:下面的命令需要使用英文输入法。1、需要按行快速移动光标时,可以使用键盘上的编辑键Home,快速将光标移动至当前行的行首。除此之外,也可以在命令模式中使用快捷键"^"(即Shift6)或0(数字0)。2、如果要快速移动光标至当前行的行尾,可以使用编辑键End。也可以在命令模式中使用快
Easter79 Easter79
3年前
sublime使用技巧
快捷键功能ctrlshiftn打开新Sublimectrlshiftw关闭Sublime,关闭所有打开文件ctrlshiftt重新打开最近关闭文件ctrln新建文件ctrls保存ctrlshifts另存为ctrlf4关闭文件ctrlw关闭ctrlk,c
Wesley13 Wesley13
3年前
vim常用命令
命令历史以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。启动vim在命令行窗口中输入以下命令即可vim直接启动vimvimfilename打开vim并创建名为filename的文件文件命令打开单个文件vimfile同时打开多个文件vimfil
Stella981 Stella981
3年前
Linux基本命令 vim命令(二)
LinuxVim显示行号在命令模式下输入":"进入编辑模式后执行setnu命令即可显示每一行的行号,如果想要取消行号,则再次输入":setnonu"即可。如果希望每次打开文件都默认显示行号,则可以编辑Vim的配置文件。每次使用Vim打开文件时,Vim都会到当前登录用户的宿主目录(用户配置文件所在地)中读取.vi
Wesley13 Wesley13
3年前
vi(vim)键盘图及其基本命令
!(https://oscimg.oschina.net/oscnet/up0a5b3e4c99fd26153d33c75d743b3915428.gif)进入vivifilename        打开或新建文件,并将光标置于第一行首vinfilename     打开文件,并将光标置于第n
Wesley13 Wesley13
3年前
VIM的snipMate的继承设置
打开\vimfiles\plugin目录下的snipMate.vim文件,找到函数GetSnippets(大概在100行左右)fun!GetSnippets(dir,filetypes)forftinsplit(a:filetypes,'\.')ifhas_key(g:did_ft,ft)
Wesley13 Wesley13
3年前
Vim使用技巧及基本命令分类
Vim有三种模式,命令模式、插入模式、低行模式有vi进入文件后就是命令模式,接着输入a或i或o 进入插入模式,接着按Esc回到命令模式,然后输入:进入低行模式。插入命令a(后 )在光标后插入A(尾 )在光标所在行尾插入i(前 )在光标前插入I(首 )在光标所在行首插入o(下 )
Wesley13 Wesley13
3年前
vim提示小技巧
vim使用小技巧ctags插件加入了ctags后,在项目的根目录执行ctagsR会自动在此目录下生成tags文件在源文件中,Ctrl即可跳转到某函数的定义,Ctrlo可以返回刚才的起始点。多窗口操作使用:sp文件名可以水平分割窗口使用:vs
Stella981 Stella981
3年前
Linux的文件描述符
(1).文件描述符的定义  文件描述符是内核为了高效管理已被打开的文件所创建的索引,用于指向被打开的文件,所有执行I/O操作的系统调用都通过文件描述符;文件描述符是一个简单的非负整数,用以表明每个被进程打开的文件。程序刚刚启动时,第一个打开的文件是0,第二个是1,以此类推。也可以理解为文件的身份ID。  用户通过操作系统处理信息的过程中,使用的交互设