一滴一点vim(学习+备忘)

普通模式:

h j k l 分别是左下上右方式移动;

:w 保存修改

:q 推出

:wq 保存修改并退出

:q! 放弃修改强制推出

x 删除光标所在位置字符

i 在光标所以位置插入字符

删除类命令:

dw 从光标处删除至一个单字/单词的末尾

d$ 从当前光标删除到行末

d的简短对象列表

w - 从当前光标当前位置直到单字/单词末尾,包括空格。
    e -
从当前光标当前位置知道单字/单词末尾,包括*不*包括空格。

$ - 从当前光标当前位置知道行末。
dd 删除光标所在的整行

2dd 删除光标所在行及下一行,数字是连续删除几行,默认是1行,3dd是连续删除3行

撤销类命令:

u 撤销修改,类似与Ctrl+z

U 回到该行原始状态

Ctrl+r 执行回复命令,撤销掉撤销命令

置入类命令:

dd 删除后,删除的内容会移到缓冲区

p 移到想置入位置的上方,再按p键粘贴

替换类命令:

r 光标位置字符,按r后再按想要替换的字符

更改类命令:

cw 改变一个单字/单词的部分或全部

c$,ce 前面小列表有提到$和e,c是命令 w、$和e都是对象

定位及文件状态:

Ctrl+g 页面最低不出现一个状态信息行,显示的内容是当前百年及的文件名和文件的总行书

G 当前光标直接跳转到文件最后一行

#+G 返回当时按指定行号的行,#代表行号,类似 :行号,注意:输入行号时,行号不会在屏幕上显示出来

搜索类命令:

/+ 字符串 找到搜索的字符串

然后

n 向上查找相同的字符

N 向下查找相同的字符

?代替/ 逆向查找字符串

配对括号的查找:

% 光标移至括号处,按%可以查找配对的括号)、]、}

修正错误的方法之一

:s/old/new/          
替换一行内第一个匹配的字符串

:s/old/new/g        
替换当前行所有匹配的字符串

:#,#s/old/new/g    #代表行号,替换两行之间每个匹配的字符串

:%s/old/new/g     全局替换,替换整个文件中的每个匹配的字符串

在 VIM 內執行外部命令的方法:

! 输入:!然后紧随输入一个外部命令可以执行该外部命令

步骤:

1.按下我们所熟悉的:命令设置光标到屏幕底部。这样就可以输入命令了。

2.接着输入感叹号!这个字符,这样就允许你执行外部的shell命令了。

3.现在以ls命令为例。

:!ls<回车>  该命令就会列举出你当前目录的内容,效果同你在命令行提示符下输入ls命令的结果一样。

:!dir<回车>
---> 提示︰ 所有的外部命令都可以以这种方式执行。
---> 提示︰ 所有的 :
命令都必须以 <回车> 告终。

关于保存文件的更多信息

:w filiename  其中filename是一个尚未存在的文件,用来保存整个文件。

:!rm filename 删除文件

一个具有选择性的保存命令

:#,#w filename #是行号,作用是将两行之间的内容保存到filename这个新创建的文件中。

提取和合并文件

:r filename

打开类命令:

o 在光标下方打开新的一行并进入插入模式;

O 在光标上方打开新的一行并进入插入模式;

光标后插入命令:

a 光标后插入文本

A 行末后插入文本

另外一个置换命令的版本

R 可连续替换多个字符

设置类命令:

:set xxx 可以设置XXX选项

例如:set ic 搜索时忽略大小写

使用在线帮助系统 

Vim 拥有一个细致全面的在线帮助系统。要启动该帮助系统,请选择如下三种方
法之一∶
- 按下 <HELP> 键
(如果键盘上有的话)
- 按下 <F1> 键 (如果键盘上有的话)
- 输入 :help <回车>

输入 :q <回车> 可以关闭帮助窗口。

提供一个正确的参数给":help"命令,您可以找到关于该主题的帮助。请试验以
下参数(可别忘了按回车键哦。:)∶

:help w <回车>
:help c_<T <回车>
:help insert-index
<回车>
:help user-manual <回车>

创建一个启动脚本

:edit ~/.vimrc  编辑vimrc文件

:read $VIMRUNTIME/vimrc_example.vim  导入vimrc范例文件

:write   保存文件

时间: 2024-10-11 17:31:28

一滴一点vim(学习+备忘)的相关文章

Android学习备忘笺01Activity

01.设置视图 在Android Studio新建的项目中,通过 setContentView(R.layout.activity_main);方法将res/layout/activity_main.xml 设置为MainActivity的视图,既可视化界面. 1 //IDE:Android Studio 2.3.1 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(save

asp.net mvc 学习备忘

参考书 pro asp.net mvc5 ,http://asp.net/mvc asp.net mvc是传统asp.net窗体程序的一种替代,web form 有很多被人诟病的地方.mvc不是asp.net独有的.微软模仿了Rails . m model 模型 v view 视图 c control 控制器 控制器里的每个方法称为action,每个action对应一个view, view不是一个完整的页面,而是部分页面.导航,底部等共同的部分,放在layout文件中. m 用来建立模型.呈现数

学习备忘

首要必须学Python!OpenCV是深度学习出现之前最常用的工具,基本图像处理方面. 神经网络和深度学习算法 TensorFlow(谷歌)和Keras(用起来简单上手快) https://mooc.study.163.com/smartSpec/detail/1001457001.htm CV学习线路: 原文地址:https://www.cnblogs.com/wxl845235800/p/11508661.html

Unreal Engine4 学习备忘

1.动画蓝图 包含 状态机 包含 混合空间BlendSpace,即状态机包含在动画蓝图的"动画图表中",而混合空间可用于在状态机中向某(没)一个状态输出最终POSE:    动画蓝图一共包含两个东西,除了上面提到的动画图表,还包括了一个事件图表.动画图表中,状态机内肯定有一些变量来决定状态的转换,比如"isInAir","speed"等.而这些都可以在"事件图表"中得到并设置: 动画又是怎么和我们控制的角色关联起来的呢? 第一

smarty模板学习备忘

smarty模板引擎.基于MVC开发,实现m.v的分离. assign.display.template.template_c等名词的意思. 引入smarty核心类文件.这个类作用实际就是把一些模板文件的标签翻译成php代码.然后交给web服务器. 翻译的过程,display()这个函数,利用了正则去解析模板标签. 补充一个正则替换的例子. <?php $str = "123abc888dd001cc";// 把三个数字的前边和后边加上== echo preg_replace('

c++ 学习备忘

char* 到 LPCTSTR 转换 char *m_str = "test!"; MessageBoxW(CString(m_str));

smarty模板学习备忘1

smarty模板引擎.基于MVC开发,实现m.v的分离. 一个libs的smarty库.创建模板和编译后的文件夹. assign.display.templates.templates_c等名词的意思. 引入smarty核心类文件.这个类作用实际就是把一些模板文件的标签翻译成php代码.然后交给web服务器. 分配assign,实则是向$smarty对象的一个数组属性里塞值. 翻译的过程,display()这个函数,利用了正则去解析模板标签,转化成了php代码. 补充一个正则替换的例子. <?p

vue2.0 mintUI 学习备忘

1.安装vue-cli脚手架 cnpm install -g vue-cli 2.执行vue 2.1 vue list 2.2 vue init webpack mintui(应用webpack模板 项目名称为mintui) 3.cd mintui / cnpm install / cnpm run dev 4.安装stylus 不报错方法 1.stylus-loader:"2.4.0" 2.cnpm install mintUI中文文档参考地址http://mint-ui.githu

C++学习备忘(一)

1. C++ 内存使用分为堆.栈:栈是相对静态的,系统自动释放,一般是固定大小,固定位置的,如 int a, double d,int[100]等,堆是相对动态的,通常有new,malloc 行为产生,系统不会自动释放堆的内存.Delete 会触发析构函数. 例如: void Test() { Int x = 1;//  函数执行后自动释放 Int *p = new int(1);// 函数执行后不会自动释放需要手动释放: Delete(p);//释放 P=NULL; // 如果后面还有进一步操