原生态Vim使用快捷键
我的第一篇博客,凌晨2点加班不想睡,随便写点。本人菜鸟一个,努力学习,争取成为大神。。
第一篇写点什么东西呢,我目前是搞运维的,俗话说"工欲善其事必先利其器",Vim作为最基本的工具,正好这两天整理了一下,就写点关于vim的吧。
标题叫做原生态vim,原生态什么意思呢,就是说不安装任何插件的意思。。。。好了,废话不说了,上干货!!!!
原文相关链接:
1.http://coolshell.cn/articles/1679.html vim分屏使用相关介绍
2.http://coolshell.cn/articles/11312.html 无插件vim编程技巧
3.http://coolshell.cn/articles/5426.html/comment-page-9#comments vim练级攻略
vim练级攻略中将vim使用分成的四个阶段,因此本次文档也将按照这个四个阶段进行梳理,四个阶段分别是:
1.存活(初级入门);
2.感觉良好;
3.觉得更好,更强,更快;
4.使用VIM的超能力;
一.存活(初级入门)
1.vim模式介绍
1) Normal模式, 启动vim以后自动进入Normal模式
2) Insert模式, 按下i键进入insert模式,此时屏幕左下角出现 -- INSERT -- 字样。在此模式下你可以像用"笔记本"那样,
ESC键返回Normal模式
2.快捷键介绍
i -> insert模式, 按ESC返回Normal模式
x -> 删除当前光标所在的一个字符
:wq -> 保存并退出
dd -> 剪切光标所在的行
p -> 粘贴剪贴板
推荐:
hjkl在Normal模式下,使用hjkl分别代表←, ↓, ↑,方向键进行光标移动。
:help <command> -> 显示相关命令的帮助。你也可以就输入:help而不跟命令,使用:q退出
二.感觉良好阶段
本阶段介绍的命令全部都在Normal模式下使用。若果你不知道什么是Normal模式,请看第一阶段,或者多按几次ESC键
1.各种插入模式快捷键
a -> 在光标后插入
A -> 在光标行最后插入
o -> 在当前行后插入新的一行
O -> 在当前行前插入新的一样
I -> 在当前行的最前面插入
cw -> 替换从光标所在位置后到一个单词结尾的字符
2.简单的移动光标
0 -> 数字零, 到行头
^ -> 到本行第一个不是blank字符的位置(所谓blank字符就是空格, tab, 换行, 回车等)
$ -> 到本行行尾
g_ -> 到本行最后一个不是blank字符的位置
/pattern -> 搜索pattern的字符串(如果搜索出多个匹配, 可按n键到下一个, N键到上一个)
3.拷贝/黏贴
P -> 粘贴,当前光标行的上一行
p -> 粘贴,当前光标行的下一行
yy -> 拷贝当前行
三.更好,更强,更快
1.更好
. -> 小数点,可以重复上一次的命令
N<command> -> 重复某个命令N次
2.更强
NG -> 到第N行,也可以使用:N,比如:3,跳到第三行
gg -> 到第一行
G -> 到最后一行
w -> 到下一个单词的开头
e -> 到下一个单词的结尾
如果你认为单词是默认方式,那就么就用小写e和w。默认上来说,一个单词有字母,数字和下划线组成
如果认为单词是由blank字符分隔, 那么你需要使用大写的E和W
*和# -> 匹配光标当前行所在的单词, 移动光标到下一个(或上一个)匹配单词
3.更快
一定要记住光标的移动,因为很多命令都可以和这些移动光标的命令连动。
<start position><command><end position>
例如: 0y$命令意味着
0 -> 先到行头
y$ -> 从这里开始拷贝, 到本行最后一个字符结束
ye -> 从当前位置拷贝到本单词的最后一个字符
y$ -> 从当前位置拷贝到本行最后一个字符
v$ -> 选中当前位置到本行最后一个字符
gU -> 选中的字符变大写
gu -> 选中的字符边小写
字符含义介绍:
d -> 删除
v -> 可视化的选择
四.Vim超能力
1.在当前行上移动光标: 0, ^, $, f, F, t, T
0 -> 数字零, 到行头
^ -> 到本行第一个不是blank字符的位置(所谓blank字符就是空格, tab, 换行, 回车等)
$ -> 到本行行尾
fa -> 到下一个为a的字符处, 你也可以fs到下一个为s的字符
t, -> 到逗号前的第一个字符。逗号也可以是其他字符
3fa -> 在当前行查找出第三个出现的a
F和T -> 和f和t作用是一样,只不过光标移动的方向相反
dtd ->删除所有的内容,直至遇到d字符
2.区域选择<action>a<object>或<action>i<object>
action可以是任何的命令,如d(删除), y(拷贝), v(可视化模式选择)
object可能是: w一个单词, W一个以空格为分隔的单词, s一个句子, p一个段落, 也可以是一个特别的字符 )、]、}等
假设你有一个字)符串(map (+) ("foo")). 而光标键在第一个o的位置.
vi" -> 会选择foo "
va" -> 会选择"foo" "
vi) -> 会选择 "foo"
va) -> 会选择 ("foo")
v2i) -> 会选择 map (+) ("foo")
v2a) -> 会选择 (map (+) ("foo"))
3.块操作
典型的块操作: 0 Ctrl+v Ctrl+d I 进入Insert模式 ESC
4.自动提示
Ctrl+N 和 Ctrl+P
在Insert模式下,你可以输入一个单词的开头,然后按Ctrl+N或者是Ctrl+p, 自动补齐功能就出现了.
5.vim分屏操作
1)分屏启动
a.使用大写的O参数来垂直分屏
vim -On file1 file2 file3 ...
b.使用小写的o参数来水平分屏
vim -on file1 file2 file3 ...
注释: n是数字, 表示分成几个屏幕
2)关闭分屏
Ctrl+W c
3)分屏
a.上下分割当前打开的文件
Ctrl+W s
b.上下分割,并打开一个新的文件
:sp filename
c.左右分割当前打开的文件
Ctrl+W v
d.左右分割,并打开一个新的文件
:vsp filename
4)移动光标
a.把光标移到右边的屏幕
Ctrl+W h
b.把光标移到左边的屏幕
Ctrl+W l
c.把光标移到上面的屏幕
Ctrl+W k
d.把光标移到下面的屏幕
Ctrl+W j
5)分屏同步移动
要让两个分屏中的文件同步移动,很简单,你需要同步移动的两个屏中都输入如下命令
:set scb
如果你需要解开,那么输入下面的命令
:set scb!
6.vim操作一个目录
直接vim一个目录,你会进入一个页面,通过j,k键进行上下移动,进入一个目录或者打开一个文件。
- -> 到上一级目录
D -> 删除文件(大写)
R -> 改在文件名(大写)
s -> 对文件排序
x -> 执行文件
:cd <dir> -> 改变当前目录
:pwd -> 查看当前目录
7.保存会话
如果你打开了好些个文件,还设置了各种滚屏同步,或者是行号等等,那么,你可以用下面的命令来保存会话:
:mksession ~/.mysession.vim
如果文件重复,vim默认会报错,如果你想强行写入的话,你可以在mksession后面加上!
:mksession! ~/.mysession.vim
于是下次,你可以这样打开这个会话:
vim -S ~/.mysession.vim
差不多上面这些掌握了使用vim就很流畅了,不建议一次性全记住,可以每天学习2个快捷键。
下一篇,准备介绍tmux这个运维神器。
原生态Vim使用快捷键的更多相关文章
- vim使用快捷键
vim使用快捷键 索引 1. 关于Vim 1.1 Vim的几种模式 2. 启动Vim 3. 文档操作 4. 光标的移动 4.1 基本移动 4.2 翻屏 4.3 标记 5. 插入文本 5.1 基本插入 ...
- Vim命令快捷键(网摘)
Vim命令快捷键(网摘) 原文出处:[?---->home]
- 一些常用的vim编辑器快捷键:
一些常用的vim编辑器快捷键: h」.「j」.「k」.「l」,分别控制光标左.下.上.右移一格. 按「ctrl」+「b」:屏幕往“后”移动一页. 按「ctrl」+「f」:屏幕往“前”移动一页. 按「c ...
- VIM常用快捷键(转载)
移动光标 h,j,k,l 上,下,左,右 ctrl-e 移动页面 ctrl-f 上翻一页 ctrl-b 下翻一页 ctrl-u 上翻半页 ctrl-d 下翻半页 w 跳到下一个字首,按标点或单词分割 ...
- Mac下Vim编辑快捷键小结(移动光标)
Mac下Vim编辑快捷键小结(移动光标) 1.移动到行尾"$",移动到行首"0"(数字),移动到行首第一个字符处"^" 2.移动到段首&qu ...
- [转贴] VIM 常用快捷键 --一直记不住
vim 常用快捷键 原帖地址: https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc ...
- vim的快捷键
vim的快捷键 (〇)3中模式之间的切换 默认在命令模式. i键,从命令模式,进入插入模式. 冒号(:)键,从命令模式,进入末行模式. Esc键,从插入模式.末行模式,进入命令模式. (一)命令模式下 ...
- [转帖]VIM常用快捷键
VIM常用快捷键 https://www.cnblogs.com/markleaf/p/7808817.html 快捷键能够显著的提高工作效率 一.移动光标 h,j,k,l 上,下,左,右ctrl-e ...
- vs 中 vim vax 快捷键
高效率移动 在插入模式之外 基本上来说,你应该尽可能少的呆在插入模式里面,因为在插入模式里面VIM就像一个“哑巴”编辑器一样.很多新手都会一直呆在插入模式里面,因为这样易于使用.但VIM的强大之处在于 ...
随机推荐
- JVM虚拟机调优指南
本章通过阅读JVM垃圾搜集指南文档,整理虚拟机主要配置以及,理解不同的垃圾搜集器. 垃圾搜集算法 引用计数算法 根搜索算法 标记-清除算法 复制算法 标记-整理算法 分代收集算法 搜集算法网上有很多介 ...
- FastJson/spring boot: json输出
1.引入FastJson依赖包 <!-- FastJson --> <dependency> <groupId>com.alibaba</groupId> ...
- 使用触发器定义 WPF 控件的行为
Expression Studio 4.0 其他版本 Expression Studio 3.0 Expression Studio 2.0 此主题尚未评级 - 评价此主题 在应用程序的生 ...
- torch中的多线程threads学习
torch中的多线程threads学习 torch threads threads 包介绍 threads package的优势点: 程序中线程可以随时创建 Jobs被以回调函数的形式提交给线程系统, ...
- 尺取法拓展——POJ3320
#include <iostream> #include <cstdio> #include <algorithm> #include <set> #i ...
- day40 数据结构-算法(二)
什么是数据结构? 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中. 比如:列表.集合与字典等都是一种数据结构. N.Wirth: “程序=数据结构+算法” 列表 列表:在其他编程语言中称 ...
- https ddos攻击——由于有了认证和加解密 后果更严重 看绿盟的产品目前对于https的ddos cc攻击需要基于内容做检测
如果web服务器支持HTTPS,那么进行HTTPS洪水攻击是更为有效的一种攻击方式,一方面,在进行HTTPS通信时,web服务器需要消耗更多的资源用来进行认证和加解密,另一方面,一部分的防护设备无法对 ...
- css单位长度
CSS长度单位 单位 含义 em 相对于父元素的字体大小 ex 相对于小写字母”x”的高度 gd 一般用在东亚字体排版上,这个与英文并无关系 rem 相对于根元素字体大小 vw 相对于视窗的宽度:视窗 ...
- Scrum立会报告+燃尽图 07
作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2289] 版本控制:https://git.coding.net/liuyy08 ...
- 火狐浏览器调试ajax异步页面时报错NS_ERROR_UNEXPECTER
第一个直观的结论就是ajax调用出错,如果其他浏览器却调用没报错,而且正常返回值了,那么就是Firefox浏览器的问题了: 如果其他浏览器也没余完全正常执行,而是出现和我上一篇ajax向后台请求数据, ...