VIM编辑器常用功能整理笔记
vim编辑器
vi : visual Inertface 可视化接口
vim : vi improved 扩展版
语法着色
模式化编辑器:
编辑模式(命令模式): 默认模式
输入模式:
末行模式:
等待输入命令
10d 删除第十行
10,20d
set nu 显示行号
! ls /etc 不用退出文件输入 系统shell命令
模式转换
编辑--> 输入
小写
i:在当前光标位置前面输入
a:在当前光标位置后面输入
o:在当前光标下一行新建一行 输入内容
大写
I 行首
A 行尾
O 上一行新建一行
输入--> 编辑 ESC
编辑-->末行: 必须得从编辑模式进入 只需要输入:冒号
末行--> 编辑: esc esc
功能介绍:
一、 打开文件
vim +12 光标到12行
vim + 打开光标到末尾
vim +/PATERN 打开文件定位到第一次匹配的位置
二、关闭文件
末行模式关闭文件 : wq ==:x
编辑模式关闭文件 : 大写ZZ 保存退出 就是 shift+zz
三、移动光标(编辑模式)
1. 逐个字符移动(手的位置)
h
l
j 下
k 上
8l 向左移动8个字符
2.逐单词移动
w 移到下一个单词的词首
e 移到当前或者下一个单词的词尾
b 移到当前或者前一个单词的词尾
3w 向后跳3个单词
3.行内跳转
0(零) 绝对行首
^ 行首的第一个非空白字符
$ 绝对行尾
4.行间跳转
#G 跳转至第#行
G 跳转到最后一行
末行模式下: 直接给行号回车
四、翻屏
crtl+f:向下翻一屏
crtl+b:向上翻一屏
crtl+d:向下翻半屏
crtl+u:向上翻半屏
五、删除单个字符
#x 删除 光标所在处后面#个字符 x删除单个
六、删除命令:d
d命令和跳转命令组合使用 3dw
#dw, #de #db
dd: 删除当前光标所在行 3dd
#dd 删除包括当前光标所在行在内的#行
末行模式下:
starAdd,EndAdd . , +5 表示删除当前行到后面五行
支持相对表示法:
. 当前行
$ 最后行 $-3
+# 向下的#行
七、粘贴命令:p
删除的东西不会立即删除,删除的内容保存在缓冲区中
最后一次删除的内容 可以粘贴到指定地区 可以粘贴n次
小p: 如果删除或复制为整行,则粘贴至所在行的下方;非整行,则粘贴至所在行的下方
大P: 相反
八、复制命令 y
用法同d
九、先删除内容,再转换为输入模式
修改
c: 用法同d
十、替换单个字符
r
R 替换模式
十一、撤销编辑undo
u:撤销前一次操作 连续使用
只能在缓存中保存50次
3u 至倒数第三次
后悔撤销操作了,就有Crtl+r 撤销的撤销,还原最近一次的撤销操作
类似于window下的crtl+z Crtl+y
十二、重复前一次编辑操作
点命令 .
十三、可视化操作
v:按字符选取
V: 矩形选取(整行选中)
十四、查找
/PATTERN 往后查找
?PATTERN 向前查找
n 下一个
N 上一个
十五、查找并替换
用法同set
在末行模式下使用s命令
startadd,endadd @ pattern @string @gi
: .,$-1 s/hello/HELLO @g
1,$ == % 表示全文
十六、使用vim打开多个文件
多个文件间复制粘贴
vim file1 file2 file3
:next 切换至前一个文件
:prev 切换至前一个文件
:last 切换至最后一个
:first切换至第一个文件
:qa 全部退出 q只能退出当前
十七、分屏显示一个文件(word里面的窗口拆分)
Crtl+w,s :水平拆分窗口
Crtl+w,v :垂直拆分窗口
在窗口间切换
Crtl+w,APROW(方向键) 或者两次Crtl+w也能向下一个切换
:qa 关闭所有窗口
十八、分窗口多个文件
vim -o file1 file2 水平分割
vim -O file1 file2 垂直分割
切换 也是 crtl+w
十九、将当前文件中部分内容另存为另外一个文件
末行模式下使用w命令
:w
:addr1,addr2 w /path/to/somewhere
二十、将 另外一个文件的内容填充在当前文件中
:r /root/inittal
直接在后面添加另一个文件的内容
二十一、和shell交互
:!commen
然后回车后 会再返回到vi编辑界面
二十二、高级话题
1、显示或取消行号
:set nu
:set nonu
2.显示忽略或区分字符大小写 :set ignorecase
:set ic
: set noic
3.设定自动缩进 :set autoindent
写脚本编程的时候很重要
:set ai
:set noai
4、查找到的文本高亮显示 或者取消掉
:set hlsearch
:set nohlsearch
5.语法高亮
:syntax on
:syntax off
二十三、配置文件
/etc/vimrc
单用户家目录下 自己新建.vimrc
~/.vimrc
vim 进程强行被退出 网络断开的时候 经常会报错
vim -r inittab
file.swp 文件要手动删掉 备份文件 rm -f .inittab.swp
If this is the case, use ":recover" or "vim -r inittab"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file ".inittab.swp"
VIM编辑器常用功能整理笔记的更多相关文章
- vim编辑器——常用操作整理
注意:以下的操作都是在命令状态下进行的,不要进入插入状态了.参考这里 1.删除 dd 删除一行 ndd 删除以当前行开始的n行dw 删除以当前字符开始的一个字符ndw 删除 ...
- vim程序编辑器---常用操作整理
vim程序编辑器---常用操作整理 移动光标方法 o 在光标行的下一行,进入编辑模式 $ 移动到光标这行,最末尾的地方 G(大写) 移动到文件最末行 :set nu 文件显示行数 :set non ...
- Linux vim编辑器常用命令
Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器 常用的vim命令如下图 补充: num+命令 对命令执行num次,如 5dd:剪切一行 * 5 即剪切5行,其它如此 /text ...
- Linux中vim编辑器常用操作技巧
Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...
- Vim 命令常用功能详解
Vim编辑器 文本编辑器 , 字处理器ASCIIvi:Visual Interface vim :VI iMproved 全屏编辑器,模式化编辑器vim 模式:编辑模式(命令模式)输入模式末行模式 模 ...
- Linux学习笔记之八————vim编辑器常用命令总结
<1>从命令行模式到插入模式 i :在光标前插入 a :在光标后插入 I :在光标所处在的行的行首 A :在光标所处在的行的末尾 o :在光标所处在的行的下一行 行首 O :在光标所 ...
- Linux vi/vim编辑器常用命令与用法总结
(一)vi/vim是什么?Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便. ...
- Linux环境下vi/vim编辑器常用命令
使用vi文本编辑器 配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式.那么如何使用Linux字符操作界 ...
- Apache运维中常用功能配置笔记梳理
Apache 是一款使用量排名第一的 web 服务器,LAMP 中的 A 指的就是它.由于其开源.稳定.安全等特性而被广泛使用.下边记录了使用 Apache 以来经常用到的功能,做此梳理,作为日常运维 ...
随机推荐
- svn老鸟转用git必须理解的概念
不都是SCM代码管理嘛,有很大区别么?很多svn老鸟都是抱着这样的心态去学习git,然后无一幸免地陷入“查阅过很多资料,依然掌握不好”的困境,至少我们团队是这样的. 网上的资料确实已经很多了,却没有把 ...
- Docker学习总结之docker安装
Ubuntu安装指南 以下均翻译自Docker官方文档 ,转载请注明:Vikings翻译 Docker 支持多种平台下的安装运行,现在我们选取结合度最高的ubuntu来说明安装过程. 首先需要明确Do ...
- TCP/IP详解学习笔记(3)-- IP:网际协议
1.概述 IP是TCP/IP协议族中最为核心的协议.所有的TCP,UDP,ICMP,IGMP数据都以IP数据报格式传输. IP提供不可靠,无连接的数据报传送服务. 不可靠:它不能保 ...
- TCP/IP详解学习笔记(10)-- DNS:域名系统
1.DNS DNS 是计算机域名系统(Domain Name System 或Domain Name Service) 的缩写,它是由解析器以及域名服务器组成的.域名服务器是指保存有该网络中 ...
- coffeeScript 语法总结
CoffeeScript ---->安装node.js ---->安装coffeeScript 语句: 注意:没有分号,语句由新的一行结束:多条语句写到同一行时需要分号表示一条语句的结束( ...
- sqlplus sys/system@'(description=(address_list=(address=(protocol=tcp)(host=192.168.11.199)(port=1521)))(connect_data=(service_name=byRuiy)))' as sysdba
- 几款超实用的 CSS 开发工具
当你开发一个网站或 web 应用程序的时候,有合适的工具,绝对可以帮助您节省大量的时间.在这篇文章中,我为大家收集了超有用的 CSS 开发工具. 对于 Web 开发人员来说,找到有用的 css 开 ...
- 织梦dedecms简略标题调用标签用法指南
我们在使用织梦DEDECMS建站过程中,为了使调用的文章标题简短且相对完整(原文标题太长),只好使用了调用简略标题这个方法,使标题显示为简短标题,指向标题时显示完整的标题.并获得文章静态地址链接 下面 ...
- 事件委托和this
JavaScript不仅门槛低,而且是一门有趣.功能强大和非常重要的语言.各行各业的人发现自己最混乱的选择是JavaSscript编程语言.由于有着各种各样的背景,所以不是每个人都对JavaScrip ...
- 逻辑回归的分布式实现 [Logistic Regression / Machine Learning / Spark ]
1- 问题提出 2- 逻辑回归 3- 理论推导 4- Python/Spark实现 # -*- coding: utf-8 -*- from pyspark import SparkContext f ...