Linux命令:vi | vim命令
vim - vi 增强版。文本编辑器
格式:vim [options] [file ..]
说明:如果file存在,文件被打开并显示内容,如果文件不存在,当编辑后第一次存盘时创建它
[options]常用选项:
vim +[num] :直接进入到编辑文挡的第num行
vim + :直接进入到最后一行
vim +/PATTERN :直接跳转到模式PATTERN第一次匹配到的行
vim -m :只读方式打开文件
vim -d file1 file2... :打开编辑多个文件
vim的三种模式:
命令模式:默认模式,移动光标,剪切/粘贴文本等
输入(编辑)模式:修改文本
末行(扩展)模式:保存,退出,查找等
模式切换:
1、命令式 to 输入模式
i:在当前光标所在处输入:
I:在当前光标所在行的行首
a:在光标所在处的后面输入
A:在当前光标所在行的行尾输入
o:在光标所在行的下方新增一个空白行输入
O:在光标所在行的上方新增一个空白行输入
2、 输入模式 to 命令模式:
按ESC键
3、 命令模式 to 末行模式:
按:键
4、末行模式 to 命令模式
按两次ESC键
命令模式的常用快捷键
1、光标移动
字符间跳转:
h:左 l:右 j:下 k:上
#[h | l | j | k ]:跳转#个字符
单词键跳转
w:跳至后一个单词的词首
b:跳至当前或前一个单词的词首
e:当前或下一个单词的词尾
当前页面跳转:
H:当前屏幕的最上面
L:当前屏幕的最下面
zt:将光标所在行移动到屏幕顶端
zz:将光标所在当前行移动到屏幕中间
zb:将光标所在行移动到屏幕底端
行内移动:
0:数字0绝对行首
^:第一个非空白字符
$:绝对行尾
行间移动:
#G 跳转到#行
#gg 跳转到#行
G:最后一行
1G:第一行
gg:第一行
句子间移动:
):
(
段落间移动:
{
}
翻屏操作:
Ctrl+f:向文件尾部翻一屏
Ctrl+b:向文件首部翻一屏
Ctrl+d:向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
2、编辑操作
字符编辑
x或DEL键:删除光标所在处字符
#x:删除光标所在处开始后的#个字符
xp:交换光标所在处的字符及后面字符的位置
~:大小写转换
J:删除当前行末尾的换行符
替换命令:
r:替换光标所在处字符,输入一个字符进行替换,可用于单词拼写错误情况
R:切换成REPLACE模式
删除命令
d:删除命令
结合各光标跳转命令使用
d$:删除光标所在位置一直到行尾所有字符(包括光标所在字符)
d^:删除光标所在位置一直到行首所有字符(不包括光标)
d0:删除到行首
dw:删除到后面第一个单词词首
de:删除到后面第一个单词的词尾
db:删除到前面第一个单词词首
dd:删除一行
#dd:删除光标所在处以下N行
dG:删除到文档尾部
dgg:删除到文档首部
c:改变,删除以后直接进入插入模式
c$:删除光标所在位置一直到行尾所有字符(包括光标所在字符)
c^:删除光标所在位置一直到行首所有字符(不包括光标)
c0:删除到行首
cc:删一行
#cc:删除光标所在处以下N行
y:yank,复制
yy:复制1行
#yy:复制#行
p:paste,粘贴yy复制的内容或者dd删除的内容
复制或删除的是整行
p:粘贴在光标所在行的下方
P:粘贴在光标所在行的上方
复制或删除的为非整行
p:粘贴在光标所在字符的后面
P:粘贴在光标所在字符的前面
撤销编辑:
u:undo
#u
U:撤销光标落在这行后所有此行的更改
恢复撤销:
Ctrl+r,和u意义相反
重复执行此前的命令:"."
重复签一个操作N次:"N."
命令模式特殊用法:
100iwang[ESC]粘贴“wang”100次
<start position><command><end position>
Command:
y复制、d删除、gU变大写、gu变小写
例如:0y$命令意味着:
0->先到行头
y->从这里开始拷贝
$->拷贝到本行最后一个字符
ye从当前位置拷贝到本单词的最后一个字符
di "光标在" "之间,则删除这行中" " 之间的内容,可以是多种符号" ' () [] {} 等等
yi 光标在()之间,则复制()之间的内容
vi[ 光标在[]之间,则选中[]之间的内容
dtx 删除字符直到遇见光标之后第一个x字符
ytx 复制字符直到遇见光标之后的第一个x字符
末行模式(扩展模式):
1、范围定界
:start,end
# 具体第#行,例如2表示第二行
1,2 第1到第2行
10,19 10到19行
10,+9 从第10行向后走9行
. 表示当前行
$ 最后一行
$-1 倒数第二行
/pat1/,/pat2/ 第一次被pat1匹配到的行,到第一次被pat2匹配到的行
#,/pat/ 从#行开始到第一次被pat匹配到的行
% 全文
注意:如果不用地址定结符,只检查光标所在行
编辑命令:
d 删除
y 复制
w /path/to/somewhere :将范围内的行另存至指定文件中
r /path/to/somefile:把somefile文件内容插入到地址定界后面
例如 10r xxx 将xxx文件插入到第十行后面
!command 执行命令
r !命令 #将命令执行结果插入,如 r !hostname 将hostname执行结果插入进入文档
2、查找
/PATTERN:从当前光标所在处向文件尾部查找
?PATTERN:从当前光标所在处向文件尾部查找
n:与命令同方向
N:与命令反方向
3、*查找替换:
:地址定界s/查找模式(正则)/替换为内容/gi
要查找的内容:可使用模式
要替换的内容:不能使用模式,但是可以使用\1,\2 等后向引用副号;还可以使用&引用前面查找到的整个内容
修饰符:
g:全局替换,一行中出现多次也替换
gc:全局替换,每次替换前询问
i:不区分大小写
&:用于在替换为的内容部分中引用前面匹配到的所有内容
定制vim工作特性:
配置文件:永久有效
全局:/etc/vimrc
个人:~/.vimrc
扩展模式:当前vim进程有效
(1) 行号
显示:set number, 简写为set nu
取消显示:set nonumber, 简写为set nonu
(2) 忽略字符的大小写
启用:set ic
不忽略:set noic
(3) 自动缩进
启用:set ai
禁用:set noai
(4) 智能缩进
启用:smartindent简写set si
禁用:set nosi
(5) 高亮搜索
启用:set hlsearch
禁用:set nohlsearch
(6) 语法高亮
启用:syntax on
禁用:syntax off
(7) 显示Tab和换行符^I 和$显示
启用:set list
禁用:set nolist
(8) 文件格式
启用windows格式:set fileformat=dos
启用unix格式:set fileformat=unix
简写:set ff=dos|unix
(9) 设置文本宽度
set textwidth=65 (vimonly)
set wrapmargin=15
(10) 设置光标所在行的标识线
启用:set cursorline,简写cul
禁用:set no cursorline
(11) 复制保留格式
启用:set paste
禁用:set nopaste
Linux命令:vi | vim命令的更多相关文章
- Linux学习---vi/vim命令
Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 所以本文直接用Vim编辑器 基本上 vi/vim 共分为三种模式,分别是命令模式( ...
- Linux之vi/vim命令
vi命令是linux中必不可少的一个编辑器工具.那么vi与vim又有什么区别呢,可以简单理解为vim是vi的升级版.在编辑一个文本时,vi不会显示颜色,而vim会显示颜色.显示颜色更易于用户进行编辑, ...
- Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令
Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...
- Linux上vi(vim)编辑器使用教程
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...
- 【转】Linux上vi(vim)编辑器使用教程
Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...
- Linux系统 vi/vim文本编辑器
Linux系统 vi/vim文本编辑器 (一)Vim/Vi简介 (二)Vim/Vi工作模式 (三)Vim/Vi基本使用 (四)Vim/Vi应用技巧 (一)Vim/Vi简介 Vim/Vi是一个功能强大的 ...
- 新手指南:Linux上vi(vim)编辑器使用教程
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...
- Linux命令vi/vim 使用方法讲解
vi/vim 基本使用方法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的 ...
- -Git Linux vi/vim 命令 按键 MD
目录 目录 Linux vi/vim 简介 vi/vim 的使用 命令模式 输入模式 底线命令模式 vi/vim 使用实例 使用 vi/vim 进入一般模式 按下 i 进入输入模式,开始编辑文字 按下 ...
- Linux vi/vim命令
转自:http://www.runoob.com/linux/linux-vim.html Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一 ...
随机推荐
- C\C++改变鼠标样式
改变鼠标样式可以使用SetClassLong函数 HCURSOR hcur = LoadCursor(NULL, IDC_CROSS); //加载系统自带鼠标样式 HWND hwnd = GetHWn ...
- LoadRunner通过火狐浏览器录制脚本后,进行回放时,回放脚本很慢
原因:火狐浏览器在录制的时候,录制了下载插件的脚本 解决办法:在脚本中删除额外资源中的下载代码
- 攻防世界 xff_referer
xff_referer [原理] X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项 HTTP R ...
- celery task - 2
# celery task 前言 讨论一个定时任务,一般而言,需要的功能如下: 封装成对象,独立执行: 对象有一些接口,便于了解它的状态: 定时调用: 行为控制,包括重试,成功/失败回调等: 下面分别 ...
- svn怎么修改用户名和密码
链接:https://blog.csdn.net/qq_36826506/article/details/80915431
- tkinter学习(4)frame、pack、canvas学习
1.frame和pack学习 1.1 代码: import tkinter as tk window = tk.Tk() window.title('my window') window.geomet ...
- Spring的核心api和两种实例化方式
一.spring的核心api Spring有如下的核心api BeanFactory :这是一个工厂,用于生成任意bean.采取延迟加载,第一次getBean时才会初始化Bean Applicatio ...
- 将训练好的Tensorflow模型部署到web应用中
做一个简易web使用Flask是最好的选择,不仅上手快,使用也很便利.Django很强大也很好用,但一次就会创建一个项目的所需的文件,我觉得对于测试一个模型在web端有没有效果没必要用它. flask ...
- 《一篇文章读懂HTTPS及其背后的加密原理》阅读笔记
HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.这篇文章深入介绍了它的原理. 当我们适用 ...
- SQL 游标介绍及使用
游标 游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果.每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理. 游标是处理 ...