我的第一篇博客,凌晨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使用快捷键的更多相关文章

  1. vim使用快捷键

    vim使用快捷键 索引 1. 关于Vim 1.1 Vim的几种模式 2. 启动Vim 3. 文档操作 4. 光标的移动 4.1 基本移动 4.2 翻屏 4.3 标记 5. 插入文本 5.1 基本插入 ...

  2. Vim命令快捷键(网摘)

    Vim命令快捷键(网摘) 原文出处:[?---->home]

  3. 一些常用的vim编辑器快捷键:

    一些常用的vim编辑器快捷键: h」.「j」.「k」.「l」,分别控制光标左.下.上.右移一格. 按「ctrl」+「b」:屏幕往“后”移动一页. 按「ctrl」+「f」:屏幕往“前”移动一页. 按「c ...

  4. VIM常用快捷键(转载)

    移动光标 h,j,k,l 上,下,左,右 ctrl-e 移动页面 ctrl-f 上翻一页 ctrl-b 下翻一页 ctrl-u 上翻半页 ctrl-d 下翻半页 w 跳到下一个字首,按标点或单词分割 ...

  5. Mac下Vim编辑快捷键小结(移动光标)

    Mac下Vim编辑快捷键小结(移动光标) 1.移动到行尾"$",移动到行首"0"(数字),移动到行首第一个字符处"^" 2.移动到段首&qu ...

  6. [转贴] VIM 常用快捷键 --一直记不住

    vim 常用快捷键  原帖地址: https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc ...

  7. vim的快捷键

    vim的快捷键 (〇)3中模式之间的切换 默认在命令模式. i键,从命令模式,进入插入模式. 冒号(:)键,从命令模式,进入末行模式. Esc键,从插入模式.末行模式,进入命令模式. (一)命令模式下 ...

  8. [转帖]VIM常用快捷键

    VIM常用快捷键 https://www.cnblogs.com/markleaf/p/7808817.html 快捷键能够显著的提高工作效率 一.移动光标 h,j,k,l 上,下,左,右ctrl-e ...

  9. vs 中 vim vax 快捷键

    高效率移动 在插入模式之外 基本上来说,你应该尽可能少的呆在插入模式里面,因为在插入模式里面VIM就像一个“哑巴”编辑器一样.很多新手都会一直呆在插入模式里面,因为这样易于使用.但VIM的强大之处在于 ...

随机推荐

  1. 树状数组 Binary Indexed Tree/Fenwick Tree

    2018-03-25 17:29:29 树状数组是一个比较小众的数据结构,主要应用领域是快速的对mutable array进行区间求和. 对于一般的一维情况下的区间和问题,一般有以下两种解法: 1)D ...

  2. 获取和设置HTML标签中的数据

  3. vsftpd日志配置及查看——可以将vsftpd记录在系统日志里

    vsftpd日志配置及查看 vsftpd ftp服务器的日志设置,可以通过修改主配置文件/etc/vsftpd.conf实现.主配置文件中与日志设置有关的选项包括xferlog_enable .xfe ...

  4. javascript递归导致的堆栈溢出

    function foo() {foo(); //setTimeout(foo, 0);   } foo() 原因是每次执行代码时,都会分配一定尺寸的栈空间(Windows系统中为1M),每次方法调用 ...

  5. web 常用富文本编辑器

    1. 百度家的 UEditor  官网地址http://ueditor.baidu.com/website/;在线演示地址:http://ueditor.baidu.com/website/onlin ...

  6. 12.21 Gson的常用用法 功能介绍 特点

    使用谷歌GSON常用语法: 功能:映射Java Object与json格式的数据 1.通过Annotation注解来声明 2.支持自定义属性名称 3.支持包含或排除属性 4.支持自定义接口自己完成解析 ...

  7. C/C++函数中使用可变参数

    先说明可变参数是什么,先回顾一下C++里面的函数重载,如果重复给出如下声明: int func(); int func(int); int func(float); int func(int, int ...

  8. Swift UIImageView和UISlider组合

    /***************火焰图片Demo************start*******/ var imgView: UIImageView? override func viewDidLoa ...

  9. mysql配置调优-开启慢查询日志-slow_query_log

    工作中,会遇到需要查看mysql的top 20 慢sql,逐个进行优化,加上必要的索引这种需求,这时就需要开启数据库的慢查询日志的功能 1.查询当前慢查询日志的状态 # 默认为关闭状态 mysql - ...

  10. 前端imageBuffer设置图片src(后端到前端直传buffer)

    本质为buffer转base64 let bytes = new Uint8Array(imageBuffer.data); let data = ""; let len = by ...