Linux_vim文本编辑器指令整理
- 一般指令模式 : 可以移动光标,可以删除字符和删除整列,可以复制粘贴
- 编辑模式 : 按下“i, I, o, O, a, A, r, R”任意一个字母时进入;按下ESC退出编辑模式
- 命令行命令模式 : 在一般模式下,输入“ : / ? ”中任意一个按钮,就可以输入命令;
一般指令模式指令
移动光标
指令 | 作用 |
---|---|
hjkl | 等同于←↓↑→ |
n[方向键] | 光标向指定方向移动数字个字符 |
[Ctrl] + [f] | 屏幕“向下”移动一页,相当于 [Page Down]按键 |
[Ctrl] + [b] | 屏幕“向上”移动一页,相当于 [Page Up] 按键 |
[Ctrl] + [d] | 屏幕“向下”移动半页 |
[Ctrl] + [u] | 屏幕“向上”移动半页 |
n[空格] | 光标向后移动指定字符 |
n[Enter] | 光标向下移动指定字符 |
0或[Home] | 移动到本列最前面 |
$或[End] | 移动到本列最后面 |
G | 移动到文件最后一列 |
nG | n为数字 移动到第几行 |
gg | 移动到第一行 相当于1G |
搜寻与取代
指令 | 作用 |
---|---|
/word | 向下寻找word字符串 |
$word | 向上寻找word字符串 |
n | 正向搜索 |
N | 反向搜索 |
:n1,n2s/word1/word2/g | 在n1和n2行之间搜索word1,替换为word2 |
:1,$s/word1/word2/g | 从第一列到最后一列寻找 word1 字串,并将该字串取代为 word2 |
:1,$s/word1/word2/gc | 从第一列到最后一列寻找 word1 字串,并将该字串取代为 word2 !且在取代前显示提示字符给使用者 确认 (confirm) 是否需要取代! |
删除,复制与粘贴
指令 | 作用 |
---|---|
x,X | x向后删除一个字符 , X向前删除一个字符 |
nx | 向后删除n个字符 |
dd | 删除当前列 |
ndd | 删除n列 |
yy | 复制当前列 |
nyy | 复制n列 |
p, P | p 为将已复制的数据在光标下一列贴上,P 则为贴在光标上一列! |
u | 撤回上一个动作 |
[Ctrl]+r或点 | 重复上个动作 |
切换到编辑模式
指令 | 作用 |
---|---|
i | 从光标进入插入模式 |
a | 从光标下个字符进入插入模式 |
I | 从当前列最左侧非空字符前进入插入模式 |
A | 从当前列最后进入插入模式 |
o | 下一行插入新行 |
O | 上一行插入新行 |
r | 进入取代模式1个字符 |
R | 进入一直取代模式 |
[Esc] | 退出编辑模式 |
命令行命令
指令 | 作用 |
---|---|
:w | 保存 |
:q | 退出 |
:q! | 强制退出 |
:wq | 保存并退出 |
:w [filename] | 另存为 |
:set nu | 显示行号 |
:set nonu | 取消行号 |
vim的暂存盘操作
当vim没有正常保存,你再次登录的时候会出现
E325: ATTENTION
Found a swap file by the name ".man_db.conf.swp"
owned by: zero dated: Tue Jan 8 15:31:46 2019
file name: /tmp/vitest/man_db.conf
modified: no
user name: zero host name: VM_16_8_centos
process ID: 8151
While opening file "man_db.conf"
dated: Tue Jan 8 15:24:35 2019
(1) Another program may be editing the same file. If this is the case,
be careful not to end up with two different instances of the same
file when making changes. Quit, or continue with caution.
(2) An edit session for this file crashed.
If this is the case, use ":recover" or "vim -r man_db.conf"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file ".man_db.conf.swp"
to avoid this message.
Swap file ".man_db.conf.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
- [O]pen Read-Only:打开此文件成为只读文件, 可以用在你只是想要查阅该文件内容并不想要进行编辑行为时。一般来说,在 上课时,如果你是登陆到同学的计算机去看他的配置文件, 结果发现其实同学他自己也在编辑时,可以使用这个模式;
- (E)dit anyway:还是用正常的方式打开你要编辑的那个文件, 并不会载入暂存盘的内容。不过很容易出现两个使用者互相 改变对方的文件等问题!不好不好!
- (R)ecover:就是载入暂存盘的内容,用在你要救回之前未储存的工作。 不过当你救回来并且储存离开 vim 后,还是要手动 自行删除那个暂存盘喔!
- (D)elete it:你确定那个暂存盘是无用的!那么打开文件前会先将这个暂存盘删除! 这个动作其实是比较常做的!因为你可 能不确定这个暂存盘是怎么来的,所以就删除掉他吧!哈哈!
- (Q)uit:按下 q 就离开 vim ,不会进行任何动作回到命令提示字符。
- (A)bort:忽略这个编辑行为,感觉上与 quit 非常类似! 也会送你回到命令提示字符就是了;
区块选择
以区块的模式选择字符
指令 | 作用 |
---|---|
v | 字符选择,会将光标经过的地方反白选择! |
V | 列选择,会将光标经过的列反白选择! |
[Ctrl]+v | 区块选择,可以用长方形的方式选择数据 |
y | 将反白的地方复制起来 |
d | 将反白的地方删除掉 |
p | 将刚刚复制的区块,在光标所在处贴上! |
多文件编辑
vim [文件1] [文件2]
指令 | 作用 |
---|---|
:N | 编辑上一个文件 |
:n | 编辑下一个文件 |
:files | 列出目前这个 vim 的打开的所有文件 |
分屏
指令 | 作用 |
---|---|
:sp [filename] | 打开一个新窗口,如果有加 filename, 表示在新窗口打开一个新文件,否则表示两个窗口为同一个文件内容(同 步显示)。 |
[ctrl]+w+ j [ctrl]+w+↓ | 按键的按法是:先按下 [ctrl] 不放, 再按下 w 后放开所有的按键,然后再按下 j (或向下方向键),则光标可 移动到下方的窗口。 |
[ctrl]+w+ k [ctrl]+w+↑ | 同上,不过光标移动到上面的窗口。 |
[ctrl]+w+ q | 其实就是 :q 结束离开啦! 举例来说,如果我想要结束下方的窗口,那么利用 [ctrl]+w+↓ 移动到下方窗口后, 按下 :q 即可离开, 也可以按下 [ctrl]+w+q 啊 |
vim 环境参数设置
~/.vimrc 用来记录用户的vim配置
~/.viminfo 用来记录用户vim的使用情况
可以直接修改配置文件,让vim记住你的配置,从而不用每次进入vim都设置行号什么东东了
我这么设置
"这个文件中双引号就是注释"
set nu "行号"
set ruler "显示最后一排状态"
set backspace=2 "退格键可以删除任何内容"
set autoindent "自动缩进"
注意
另外,需要注意与window之间的换行符的不同;换行符转化和变编码回头再整理吧(我基本用不到哈哈)
打印版
Linux_vim文本编辑器指令整理的更多相关文章
- Vim文本编辑器 指令簿(二)
常常处理文本以及常常须要写代码的人,都会有自己比較常常使用的编辑器,本人喜欢用Vim.理由就是Vim编辑器灵活,而且能够达到纯键盘操作,使用纯熟情况下,根本不须要鼠标操作.听起来是不是非常酷的?只是别 ...
- 商城项目整理(四)JDBC+富文本编辑器实现商品增加,样式设置,和修改
UEditor富文本编辑器:http://ueditor.baidu.com/website/ 相应页面展示: 商品添加: 商品修改: 前台商品展示: 商品表建表语句: create table TE ...
- [bzoj1269][AHOI2006文本编辑器editor] (splay模版题 or pb_ds [rope]大法)
Description 这些日子,可可不和卡卡一起玩了,原来可可正废寝忘食的想做一个简单而高效的文本编辑器.你能帮助他吗?为了明确任务目标,可可对“文本编辑器”做了一个抽象的定义: 文本:由0个或 ...
- Bzoj1269 [AHOI2006]文本编辑器editor
Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3678 Solved: 1380 Description 这些日子,可可不和卡卡一起玩了,原来可可正 ...
- Vi (Unix及Linux系统下标准的编辑器)VIM (Unix及类Unix系统文本编辑器)
Vi是Unix及Linux系统下标准的编辑器.学会它后,您将在Linux的世界里畅行无阻.基本上vi可以分为三种状态,分别是命令模式.插入模式,和底行模式. vi编辑器是所有Unix及Linux系统下 ...
- 强大好用的"文本"编辑器
1 editplugs 说明:EditPlus是一款由韩国 Sangil Kim (ES-Computing)出品的小巧但是功能强大的可处理文本.HTML和程序语言的Windows编辑器,你甚至可以通 ...
- angularjs中展示富文本编辑器文本,向DOM中插入元素
前几天在用textangular富文本编辑器插件时,将存储的文本及格式存储到数据库中,但是从后台接口中再向angular页面插入时却不能执行,即在Angular中操作DOM没有实现,后来查看了一下,操 ...
- Linux 学习手记(5):使用Vim文本编辑器
Vim是从vi发展而来的文本编辑器.vi是Linux及类Unix系统中主流的命令行文本编辑器,Vim 除了对vi功能上进行了加强,还加入了对GUI的支持.绝大多数的Linux系统上均安装了vim,vi ...
- 我为什么要做富文本编辑器【wangEditor5个月总结】
请访问wangEditor官网:www.wangEditor.com ----------------------------------------------------------------- ...
随机推荐
- ACM-ICPC 2018青岛网络赛-H题 Traveling on the Axis
题目:略(不知道怎么从ZOJ搬题) 地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4054 把这题的每个点分成两种情况 ...
- php对象在内存中存在形式
1,php中基本数据类型存在于栈区,对象这种数据类型存在于堆区: 比如如下代码,两个指针指向同一个对象,其输出相同 <?php /** * Created by PhpStorm. * User ...
- [AIR] 检测移动设备运动
Accelerometer 类根据由设备的运动传感器检测的活动调度事件.此数据表示设备的位置或沿三维轴的移动.当设备移动时,传感器会检测到此移动并返回加速数据.Accelerometer 类提供了各种 ...
- Ionic开发Hybrid App问题总结
http://ionichina.com/topic/5641b891b903cba630e25f10 http://www.cnblogs.com/parry/p/issues_about_buil ...
- tableView下沉
出现问题的界面如下,并附有大致介绍: 而我想做的界面应该是自定义的headerView和tableView是一起滑动的,而不是headerView在tableView滑动的时候始终在顶部位置,而且ta ...
- css 移动端图片等比显示处理
第一次写博文,心情有点小小的激动~~~~~ 刚开始做移动端项目的时候遇到了一些优化的问题,比如,打开网页在2g或者3g的情况下加载网页,刚开始渲染的时候,遇到图片文件未请求,图片的高度会为0,当然,如 ...
- Machine learning吴恩达第三周 Logistic Regression
1. Sigmoid function function g = sigmoid(z) %SIGMOID Compute sigmoid function % g = SIGMOID(z) compu ...
- [转] maven打包可运行的fat-jar的简单方法
[From] https://blog.csdn.net/tearsky253/article/details/75948721 问题 在使用“mvn package”命令编译application之 ...
- Flutter Dialog 屏蔽返回键
使用 WillPopScope + Future.value(false); 屏蔽返回键.代码如下: showDialog<Null>( context: context, // Buil ...
- mongo嵌套查询
db.getCollection('TradeBookingRepresentation').find({uitid:'168282:20190214010009224', tradeVersion: ...