VIM_manual
VIM命令---Vi IMproved, a programmers text editor文本编辑
一、vim不同模式切换



1、a、i、o等键:输入模式
2、:键:末行模式
3、R键:替换模式(replace)
4、v键:可视模式(visual)

二、输入(插入)模式
1、i 当前位置插入内容(insert)
2、a (append)

三、末行模式
1、:q =如果未对文件做改动则退出 quit
2、:q! =放弃保存并退出
3、:wq =保存当前文件并退出 write quit
4、:wq! =强制保存当前文件并退出
5、:x =保存当前文件并退出
6、:x! =强制保存当前文件并退出
7、:w =保存
8、:w abc.txt =另存为 (可以使用绝对路径)
9、ZZ =在命令模式下使用,退出并且保存
10、:X =设置密码。退出最好使用:wq
四、光标移动

在末行模式下使用
:set nu 显示行号(:set number)
:set nonu 取消行号
:50 调到第50行

五、复制-粘贴-删除
u是撤销(undo)
ctrl+r 恢复 recover redo

六、可视模式
1、小v 可视模式 visual
2、大V 可视行模式 VISUAL line
3、ctrl+v 可视块模式 VISUAL block
七、末行模式下的操作
、查找功能(高亮效果)
:set nohlsearch 取消高亮效果 (high light search)
:set hlsearch 开启高亮效果
示例:
/word 从上而下在文件中查找字符串“word”
?word 从下而上在文件中查找字符串“word”
n 定位下一个匹配的被查找字符串
N 定位上一个匹配的被查找字符串
、替换substitute
例1:将6到8行所有的old替换为new
:,8s/old/new/g
例2:将整篇文章里的old替换为new
:%s/old/new/g 例3:替换的时候需要确认,将old替换为new
:%s/old/new/gc
y是yes :替换
n是no :不替换
a是all :全部替换
q是quit :退出不替换
l是line :替换整行的
、末行模式下对其他文件的操作
例1:打开新文件进行编辑
:e ~instal.log
例2:在当前文件中读入其他文件内容
:r /etc/filesystems
、终止文件操作
例1:撤销对文件的所有操作,重新开始
:e!
例2:把当前文件另存为/tmp目录下的hello.txt
:w /tmp/hello.txt
、多文件操作
vim .txt .txt .txt
:n 编辑下一个文件
:N 编辑上一个文件 :file 列出vim打开的文件名
"bajie" line
%a "wukong" line
# "shashidi" line
:last 最后一个
:first 第1个
:syntax enable 开启语法颜色显示效果
:syntax off 关闭语法颜色显示效果
:set hlsearch 开启查找文字的高亮效果 (high light)
:set nohlsearch 关闭查找文字的高亮效果
:set cursorline 显示下划线的效果(光标所在行)
:set cursorcolumn 显示光标所在的列
Q:如何配置专属vim
A:启动vim编辑器的时候需要运行的命令,可以放到vim的配置文件里
局部配置文件:/root/.vimrc
全局配置文件:/etc/vimrc
###配置文件里面的命令,都会是写入vim末行模式的命令(类似于预操作)
例如:
shell> cat /root/.vimrc
set cursorline
set cursorcolumn
set nu
set tabstop=4 #设置vim的tab键的宽度(默认情况下是8个空格)
然后再使用vim的时候,会自动开启上面的功能
注意:如果上面的配置不需要,建议删除,不要在前面加#,会导致vim启动的时候报错
VIM_manual的更多相关文章
随机推荐
- TopComponent设置某个控件焦点
仅仅在 @Override public void componentOpened() { syncBtn.requestFocus(); } 中指定还不够,还需要重载 @Override publi ...
- SpringMVC深度探险(三) —— DispatcherServlet与初始化主线
在上一篇文章中,我们给出了构成SpringMVC应用程序的三要素以及三要素的设计过程.让我们来归纳一下整个设计过程中的一些要点: SpringMVC将Http处理流程抽象为一个又一个处理单元 Spri ...
- Sword redis数据结构
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) string 是 redi ...
- EasyUI 验证
使用过程中的一积累,备查. EasyUI 验证框使用方法://***************************missingMessage:未填写时显示的信息validType:验证类型见下示例 ...
- 【转】【CentOS】【Python】Centos7安装Python3的方法
由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_centos Python-3.6.2]# ...
- 对微软Microsoft Dynamics CRM 的认识
MS CRM的认识 技术层面: MS CRM使用了当前最为流行的Web Service作为数据交互的手段,这给我们的二次开发和系统级的集成带来了无可比拟的方便性.易用性.我们不用关心如何去访问CRM数 ...
- (笔记)CANOpen移植(CanFestival移植)
在网上下载CanFestival源码最新版本CanFestival-3-884a60cbb83e建立以下文件夹:inc文件夹:放LM3S8962硬件相关以及驱动部分的头文件,adc.h.hw_adc. ...
- 第三百四十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy模拟登陆和知乎倒立文字验证码识别
第三百四十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy模拟登陆和知乎倒立文字验证码识别 第一步.首先下载,大神者也的倒立文字验证码识别程序 下载地址:https://gith ...
- 解决android有的手机拍照后上传图片被旋转的问题
转至 http://blog.csdn.net/walker02/article/details/8211628 需求:做仿新浪发微博的项目,能够上传图片还有两外一个项目用到手机拍摄图片,这两个都需要 ...
- linux命令中的head命令
head命令和tail命令就像他的名字一样浅显易懂,它是用来显示开头或者结尾某个数量的文字区块,head用来显示档案的开头至标准输出当中,而tail想当然就是查看档案的结尾. 命令格式 head [ ...