Linux学习日志 2017/11/16
来源:互联网 发布:淘宝导航条背景色代码 编辑:程序博客网 时间:2024/06/16 04:19
Vim基础学习
1. 启动和退出
a) 直接在终端输入vim, 将会进入vim的界面
b) 输入 ’:q’ 命令会退出vim界面,前提是必须保存,如果不保存,则会报错。
c) 可以强制退出,来立即结束vim程序, 命令是 ‘:q!’
2. 编辑模式
a) 如果不进入编辑模式,则无法编辑文本
b) 按下 ‘i’命令,进入编辑模式
c) 最后按 ESC键退出编辑模式,返回命令模式
3. 保存工作
a) 在命令模式下输入一个冒号 ‘:‘
b) 将文件写入硬盘,在冒号后加入‘w‘ 即 ’:w ‘
4. 模式
a) 目前,已经见到三种模式,分别是插入(编辑)模式,普通模式,命令模式
b) 有冒号的命令是命令模式的ex命令 。 如:保存命令‘:w’
c) 不加冒号的命令是普通模式的命令, 如:‘i’(进入编辑模式)
5. 移动光标
转自:http://blog.csdn.net/bruce0532/article/details/8312933
简单的移动(适合小范围移动)
hjkl
用熟了,相对其它编辑器或者鼠标来说,确实挺方便的。
配合数字。
2j表示向下移动2行
利用查找(适合大范围移动)
/hello
向后查找关键词hello,回车就到了后面第一个hello处。
?hello
向前查找关键词hello
*向后查找当前光标处的单词
#向前查找当前光标处的单词
还有一个行内快速移动,利用f命令搜索某字符方式(适合行内移动)
f表示向后移动到某字符
比如fa表示向后移动到字符a处
Fa表示向前移动到字符a处。
这个操作,我认为不如/?查找用的爽,因为/?可以查找完整的单词。
利用w,b,以word为单位进行移动,类似hjkl(适合小范围移动)
同理,配合数字。
2w表示向后移动2个word;
2b表示向前移动2个word;
2e表示向后移动2个word,但是会移动到word字符之后。
如果想忽略标点符号的word,就用大写
W
B
E
移动到行首行尾(适合行内移动)
^
表示移动到行首第一个word,即行首有空格的情况,不会移动到空格之前,而是移动到空格之后,第一个word之前;
0
表示移动到行首;即行首有空格的情况,会移动到空格之前;
$
表示移动到行末;即行末有空格的情况,会移动到空格之后;如果想移动到行末最后一个非空白的字符处,就输入命令
$b
。一般来说,写代码,行末不会有空格存在的。这条应用没多大意义。移动到文本开头和文本结尾(适合大范围移动)
gg表示移动到文本开头;
G表示移动到文本结尾
利用行号移动到某一行(适合大范围移动)
:123表示移动到第123行
翻页(适合大范围移动)
ctrl+f表示向下翻页
ctrl+b表示向上翻页
利用标记mark命令
ma表示标记该行为a;包括第几列的信息,都在标记a里。
‘a表示跳转到标记a处;会跳转到标记a的行首。单引号’
`a表示跳转到标记a处;会跳转到标记a的行,包括第几列。更精准。按键在波浪号处。
快速移动技巧基本就这些吧。
网上还有括号移动的,段落移动的,其实用上述技巧就够了。如果没有特别有意义的,不如熟练掌握上述技巧。
比如移动到上一个{,那么输入命令?{
熟悉快速移动技巧后。让我们想想,对于其它操作行为有很多可以举一反三的地方。
比如复制一部分文字,从time到tutor之间的内容。
The approximate time required to complete the tutor is 25-30 minutes.
最基本的就是用hjkl移动到time处,v命令,用hjkl移动到tutor,选中后,按y。命令结束。
熟悉快速移动后,/time回车,y/tutor。命令结束。
同理,如果delete,一样。/time回车,d/tutor。命令结束。
同理,如果change,一样。/time回车,c/tutor。命令结束。
change命令,适合修改代码。很有用。具体介绍可以输入命令:help c
比如cc表示删除本行并开始重写。删除本行同时执行insert模式。
- Linux学习日志 2017/11/16
- Linux学习小日志
- linux学习日志
- Linux日志学习
- Linux 学习笔记---日志
- Linux日志学习
- Linux学习日志
- linux 学习日志
- Linux日志管理学习
- Linux学习日志
- Android学习日志11-16
- Linux 学习日志:Linux, Linux C编程
- 学习笔记:Linux日志文件
- Linux系统日志学习总结
- linux 学习日志(1)
- Linux学习日志(一)
- 【学习】查看linux 日志文件
- Linux学习记录--日志系统
- on-chip ROM boot的原理分析
- Java装箱与拆箱
- OpenCV-007:图像直方图的显示
- English--从头开始
- 基于dubbo从传统MVC架构转向SOA架构分布式设计1--(helloword)
- Linux学习日志 2017/11/16
- openfire的MUC改造类似QQ永久群
- MySQL函数 split
- PHP数据导出Excel
- cookies工具类
- Spring和Struts2的整合
- 升级PHP7遇到的问题
- 各种流行的编程风格,你属于哪一种?
- 大型网站的灵魂——性能