使用vim编辑多个文件

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

 1. vim 1.txt 2.txt

 在命令行模式下输入:n编辑2.txt文件,可以加!即:n!进行强制切换。

 在命令行模式下输入:N编辑1.txt文件,可以加!即:N!进行强制切换。

 2.  vim 1.txt 2.txt

 在命令行模式下输入: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

 恢复文件:因为断电等原因造成文档没有保存,可以采用恢复方式,vim-r进入文档后,输入:ewcover 1.txt恢复。

  可视模式

 在普通模式下输入v进入字符选择模式。进入字符选择模式,可以移动光标,光标走过的地方就会选取。再次按下v就会取消选取。

 在普通模式下输入shift+v,进入行选择模式,按下V之后会选取整行,再按一次Shift+v可以取消选取。

 在普通模式下输入Ctrl+v,区域选择模式,可以进行矩形区域选择,再按一次Ctrl+v取消选取。

 在普通模式下输入d删除选取区域内容。

 在普通模式下输入y复制选取区域内容。

  视窗操作

 vim可以在一个界面里打开多个窗口进行编辑,这些编辑窗口成为vim的视窗。打开方式有很多种,可以使用在命令行模式下输入:new打开一个新的vim视窗,并进入视窗编辑一个新文件。(普通模式下Ctrl+w也可以打开一个新的视窗,但是会与谷歌的关闭标签页的快捷键冲突)。

 命令行模式下输入 :sp 1.txt 打开新的横向视窗来编辑1.txt

 命令行模式下输入 :vsp 2.txt 打开新的纵向视窗来编辑1.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 + 增加视窗高度 

  文档加密

 创建加密文档  $vim -x file1

  在vim执行外部命令

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

 : !ls 用于显示当前目录的内容

 : !rm FileName 用于删除名为FileName的文件

 : w FileName 可将当前vim中正在编辑的文件另存为FileName文件 

  帮助系统

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

  功能设定

 vim的功能设定:在编辑文件的时候进行功能设定,如命令行模式下输入:set nu(显示行数),设定值退出vim后不会保存。要永久保存配置需要修改vim配置文件,vim的配置文件~/.vimrc,可以打开文件进行修改。

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

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

   

vim3的更多相关文章

  1. 虚拟机中linux系统常用命令解释及vim3种命令模式详解

    1.man man 加上一个命令可以打开此命令具体使用方法,方便我们更好的了解新命令的使用(下图为我输入命令“man ls”虚拟机界面) 2.cd  切换目录 cd ..(返回上一级目录) cd ~( ...

  2. android 网络请求Ⅰ

    本章讲述在android开发中,常用的网络请求操作.网络请求利用android基本的HttpURLConnection连接URL和开源网络请求包AsyncHttpClient.本次网络请求以调取天气接 ...

  3. vi/vim编辑器的基本操作

    vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准备(下载gvim ...

  4. windows下vi/vim编辑器的基本操作

    windows下vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准 ...

  5. NO.6LINUX基本命令

    1.练习1 ) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cd / cat /etc/passwd /etc/group>1.txt 2) 将用户信息数据库文 ...

  6. 使用Vundle管理配置Vim的插件

    1.介绍: 安装需要Git,触发git clone,默认将每一个指定特定格式插件的仓库复制到~/.vim/bundle/. 搜索需要Curl支持. Windows用户请直接访问Windows setu ...

随机推荐

  1. 使用saltui实现图片预览查看

    项目是基于dingyou-dingtalk-mobile脚手架的一个微应用,这个脚手架使用的UI是antd-mobile,它提供了一个图片上传的组件,但是未提供图片预览的组件,在网上找了不少如何在re ...

  2. hdu-6435

    Problem J. CSGO Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others ...

  3. HashTable Queue Stack SortedList BitArray

    HashTable 由于是非泛型集合,因此存储进去的都是object类型,不管是键还是值. Hashtable不允许排序 key不允许重复 键不允许为null Queue和Queue<T> ...

  4. os模块,序列化模块,json模块,pickle模块

    一.os模块os.system("bash command") 运行shell命令,直接显示 os.popen("bash command).read() 运行shell ...

  5. [CodeForces - 614A] A - Link/Cut Tree

    A - Link/Cut Tree Programmer Rostislav got seriously interested in the Link/Cut Tree data structure, ...

  6. [CodeForces - 197C] C - Lexicographically Maximum Subsequence

    C - Lexicographically Maximum Subsequence You've got string s, consisting of only lowercase English ...

  7. 通过BeanPostProcessor理解Spring中Bean的生命周期

    通过BeanPostProcessor理解Spring中Bean的生命周期及AOP原理 Spring源码解析(十一)Spring扩展接口InstantiationAwareBeanPostProces ...

  8. Qt_qwt图形开发

    QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目, 可生成各种统计图.它为具有技术专业背景的程序提供GUI组件和一组实用类 ...

  9. 套接字编程,创建套接字socket

    1.套接字地址结构: struct sockaddr { sa_family_t sa_family; char sa_data[14]; }; 其中,成员sa_family表示套接字的协议族类型,对 ...

  10. 实验:输入一篇英文新闻,以“#”结束,统计其中a-z这26个字母各出现的次数和总字符个数。(不区分大小写)

    代码如下: #include <iostream> using namespace std; int main() { char ch; char s_letter[26]={'a','b ...