文章目录

  • 1. 多文件编辑
    • (1) 使用vim编辑多个文件
    • (2) 进入vim后打开新文件
    • (3) 恢复文件
  • 2. 可视模式命令简介
  • 3. 视窗操作
    • (1) 视窗操作简介
  • 4. 创建加密文档
  • 5. 在vim执行外部命令
  • 6. vim中的查看帮助
  • 7. vim的功能设定
    • (1) 修改vim配置文件
    • (2) 获取目前的设定
    • (3) set 功能的说明
  • 8. 实验总结

本次实验将学习 vim 中的其他高级功能,体验更多 vim 的魔力。


1. 多文件编辑

(1) 使用vim编辑多个文件

编辑多个文件有两种形式,一种是在进入 vim 前使用的参数就是多个文件名,另一种就是进入 vim 后再编辑其他的文件。

同时创建两个新文件并编辑:

$ vim 1.txt 2.txt

默认进入 1.txt 文件的编辑界面:

  • 命令行模式下输入 :n 编辑 2.txt 文件,可以加 !:n! 强制切换,之前一个文件的输入没有保存,仅仅切换到另一个文件;
  • 命令行模式下输入 :N 编辑 1.txt 文件,可以加 !:N! 强制切换,之前文件内的输入没有保存,仅仅是切换到另一个文件。

(2) 进入vim后打开新文件

在命令行模式下进行操作:

  • 命令行模式下输入 :e 3.txt 打开新文件 3.txt
  • 命令行模式下输入 :e# 回到前一个文件;
  • 命令行模式下输入 :ls 可以列出以前编辑过的文档;
  • 命令行模式下输入 :b 2.txt(或者编号)可以直接进入文件 2.txt 编辑;
  • 命令行模式下输入 :bd 2.txt(或者编号)可以删除以前编辑过的列表中的文件项目;
  • 命令行模式下输入 :e! 4.txt ,新打开文件 4.txt ,放弃正在编辑的文件;
  • 命令行模式下输入 :f 显示正在编辑的文件名;
  • 命令行模式下输入 :f new.txt ,改变正在编辑的文件名字为 new.txt

(3) 恢复文件

由于在线环境的特殊性,请在本机尝试。如果因为断电等原因造成文档没有保存,可以采用恢复方式,vim -r 进入文档后,输入 :ewcover 1.txt 来恢复。


2. 可视模式命令简介

简要介绍可视模式中的命令:

  • 在普通模式下输入 v(小写),进入字符选择模式,就可以移动光标,光标走过的地方就会选取。再次按下 v 后就会取消选取。
  • 在普通模式下输入 shift+v(小写),进入行选择模式,按下 v 之后就会把整行选取,可以上下移动光标选更多的行。同样,再按一次 shift+v 就可以取消选取。
  • 在普通模式下输入 ctrl+v(小写),这是区域选择模式,可以进行矩形区域选择,再按一次 ctrl+v 取消选取。
  • 在可视模式下输入 d 删除选取区域内容。
  • 在可视模式下输入 y 复制选取区域内容。

拷贝练习文件到当前目录,打开练习文件:

$ cp /etc/protocols .
$ vim protocols
  • 在普通模式下 9G 跳转到第 9 行,输入 shift+v(小写 V),进入可视模式进行行选择,选中 5 行,按下 >> 缩进,将 5 行整体缩进一个 shiftwidth
  • 在普通模式下输入 ctrl+v(小写 v ),进入可视模式进行矩形区域选择,选中第一列字符,然后 x 删除整列。

3. 视窗操作

(1) 视窗操作简介

vim 可以在一个界面里打开多个窗口进行编辑,这些编辑窗口称为 vim 的视窗。

打开方法有很多种,例如可以使用在命令行模式下输入 :new 打开一个新的 vim 视窗,并进入视窗编辑一个新文件(普通模式下输入 ctrl+w 也可以),除了 :new 命令,下述列举的多种方法也可以在命令模式或普通模式下打开新的视窗:

  • 命令行模式下输入 :sp 1.txt 打开新的水平分屏视窗来编辑 1.txt
  • 命令行模式下输入 :vsp 2.txt 打开新的垂直分屏视窗来编辑 2.txt
  • 普通模式下 Ctrl+w s 将当前窗口分割成两个水平的窗口;
  • 普通模式下 Ctrl+w v 将当前窗口分割成两个垂直的窗口;
  • 普通模式下 Ctrl+w q:q 结束分割出来的视窗。如果在新视窗中有输入需要使用强制符 ! ,即 :q!
  • 普通模式下 Ctrl+w o 打开一个视窗,并且隐藏之前的所有视窗;
  • 普通模式下 Ctrl+w j 移至下面视窗;
  • 普通模式下 Ctrl+w k 移至上面视窗;
  • 普通模式下 Ctrl+w h 移至左边视窗;
  • 普通模式下 Ctrl+w l 移至右边视窗;
  • 普通模式下 Ctrl+w J 将当前视窗移至下面;
  • 普通模式下 Ctrl+w K 将当前视窗移至上面;
  • 普通模式下 Ctrl+w H 将当前视窗移至左边;
  • 普通模式下 Ctrl+w L 将当前视窗移至右边;
  • 普通模式下 Ctrl+w - 减小视窗的高度;
  • 普通模式下 Ctrl+w + 增加视窗的高度。

打开练习文件:

  • 命令行模式下输入 :new 打开一个新的 vim 视窗;
  • 命令行模式下输入 :vsp 2.txt 打开新的横向视窗来编辑 2.txt
  • 命令行模式下输入 :vsp 3.txt 打开新的横向视窗来编辑 3.txt
  • 如果使用非 chrome 浏览器可以使用 Ctrl+w 进行视窗间的跳转;
  • 分别在不同视窗的命令行模式下,输入 :q! 退出多视窗编辑。


4. 创建加密文档

$ vim -x file1

输入您的密码,确认密码。这样在下一次打开时,vim 就会要求你输入密码。


5. 在vim执行外部命令

在命令行模式中,输入 ! 可以执行外部的 shell 命令:

  • :!ls 用于显示当前目录的内容;
  • :!rm FILENAME 用于删除名为 FILENAME 的文件;
  • :w FILENAME 可将当前 VIM 中正在编辑的文件另存为 FILENAME 文件。

6. vim中的查看帮助

普通模式下按 F1 打开 vim 预设的帮助文档。命令行模式下输入 :h shiftwidth 打开名为 shiftwidth 的帮助文件。命令行模式下输入 :ver 显示版本及参数。


7. vim的功能设定

(1) 修改vim配置文件

可以在编辑文件的时候进行功能设定,如命令行模式下输入 :set nu(显示行数),设定值退出 vim 后不会保存。

要永久保存配置,需要修改 vim 配置文件。vim 的配置文件是 ~/.vimrc ,可以打开文件进行修改,不过小心不要影响 vim 正常使用。

(2) 获取目前的设定

命令行模式下输入 :set 或者 :se 显示所有修改过的配置;输入 :set all 显示所有的设定值;输入 :set <option>? 显示 option 的设定值;输入 :set nooption 取消当前设定值。

(3) set 功能的说明

命令行模式下输入 :set autoindent(ai) 设置自动缩进;输入 :set autowrite(aw) 设置自动存档,默认未打开;输入 :set background=darklight ,设置背景风格;输入 :set backup(bk) 设置自动备份,默认未打开;输入 : set cindent(cin) 设置 C 语言风格缩进。

更多详细参数请参考 vim 手册。


8. 实验总结

通过这四部分的简单学习,初步掌握了 vim 的基本操作和使用。如果熟练掌握 vim 编辑器,通过这点努力是不够的。要熟练掌握,跟个人的选择有关,需要不断的练习,并坚持长期使用 vim 完成各种编辑操作才能达到。 同时,还需要掌握如何更改和编写 vim 的配置文件,及安装各类 vim 插件来实现各种强大的功能,满足各种苛刻的需求。

【Vim】学习笔记四 多文件编辑、可视模式、视窗操作相关推荐

  1. vim学习笔记(四)

    下面是我的最近更新,差点删除. 下面的笔记摘自vimtutor.<CR>表示回车 删除命令 在normal模式下: de 删除一个单词,不包含空格 dw 删除一个单词,包含空格 dd 删除 ...

  2. 华清远见fs4412开发板学习笔记(四)

    fs4412开发板学习笔记(四) 今天的课程安排 1.复习 1.1 VIM 编辑器 [1] vim + filename 打开 [2] 工作模式 命令模式 编辑模式 底行模式 [3] 模式切换 命令- ...

  3. Linux_红帽8学习笔记分享_3(文件操作管理)

    Linux_红帽8学习笔记分享_3(文件操作管理) 文章目录 Linux_红帽8学习笔记分享_3(文件操作管理) 1.Vi编辑器 1.1两种模式 1.2十种技巧 2.用户的家目录 2.1 su命令的使 ...

  4. VIM学习笔记 配置文件(vimrc)

    为什么80%的码农都做不了架构师?>>>    VIM学习笔记 配置文件(vimrc) 在vim启动过程中,首先将查找配置文件并执行其中的命令.而这些初始化文件一般有vimrc.gv ...

  5. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  6. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  7. OpenCV学习笔记四-image的一些整体操作

    title: OpenCV学习笔记四-image的一些整体操作 categories: 编程 date: 2019-08-08 12:50:47 tags: OpenCV image的一些操作 sP4 ...

  8. 吴恩达《机器学习》学习笔记四——单变量线性回归(梯度下降法)代码

    吴恩达<机器学习>学习笔记四--单变量线性回归(梯度下降法)代码 一.问题介绍 二.解决过程及代码讲解 三.函数解释 1. pandas.read_csv()函数 2. DataFrame ...

  9. esp8266舵机驱动_arduino开发ESP8266学习笔记四—–舵机

    arduino开发ESP8266学习笔记四-–舵机 使用时发现会有ESP8266掉电的情况,应该是板上的稳压芯片的限流导致的,观测波形,发现当舵机运转时,电源线3.3V不再是稳定的3.3V,大概是在3 ...

最新文章

  1. Matlab编程与数据类型 -- 函数M文件的组成
  2. python中def _init_是什么意思_Python中self和__init__的含义与使用
  3. C#仿QQ皮肤-主窗体MainForm和Main的实现
  4. vue常用语法 渲染数据
  5. Android持久化存储(2)SharedPreferences使用介绍
  6. Java(第十五章)
  7. 在C#中对列表/数组进行碎片整理——关闭所有空白
  8. php memcached 例子,php下Memcached入门实例解析
  9. 第九章 线程与内核对象的同步(4)
  10. CAS实现单点登录SSO执行原理探究超详细
  11. 小猫钓鱼——栈和队列的应用(C++)
  12. webpack 3 零基础入门教程 #16 - 使用 ProvidePlugin 插件来处理像 jQuery 这样的第三方包...
  13. c语言第三章作业3.13,c语言谭浩强第1章至第3章测试试题
  14. 小米路由器 R1D 可用 java JRE openjdk
  15. NVIDIA 驱动和CUDA下载官网地址
  16. 矩阵乘法c语言蓝桥杯,[蓝桥杯]ALGO-86.算法训练_矩阵乘法
  17. 红蓝攻防比赛得哪些事
  18. 完整方法:摄像头打不开,驱动无法安装成功,设备状态显示由于其配置信息(注册表中的)不完整或已损坏,windows无法启动这个硬件设备。(代码19)
  19. 托福百日冲刺—词汇(14)
  20. HIVE语法基础及实战----干货

热门文章

  1. matlab和Eigen库中的一些旋转矩阵(方向余弦矩阵)、四元数和欧拉角之间的转换和绘图的注意事项
  2. BAT卖不动「医疗云」:医院逃离、山头林立、行有行规
  3. Flutter开发相比React-Native优势在哪里?高手为你答疑解惑!
  4. kali官方ios下载今天刚刚下载的
  5. 相机小孔成像模型(逐步推导详解)
  6. 【MySQL】Mysql范式及外键作用
  7. Horizon二次开发
  8. Pandas 中DataFrame 数据合并 Contract | Merge
  9. 麻省理工学院计算机工程专业排名,麻省理工学院计算机科学与工程世界排名2018年最新排名第1(ARWU世界排名)...
  10. 五脏有问题,该怎么调理?