VIM 初步
按i前插入字符。a在光标后追加字符
ctrl+d将光标下称半个窗体。按Ctrl+u将光标上移半个窗体
在输入模式下:ctrl+h删除字符,ctrl+u删除行。ctrl+w删除字
命令模式下。x删除字符。dw删除字,dd删除行
u表示撤销上一个操作
ctrl+r或输入命令:redo。表示重做
命令dw和i能够用一条命令cw(chang world)来实现。
命令cw能够使用VIM进入输入模式
$ vim -r memo
:w memo2
可将文件另存
dw: delete current word, but first thing for this command is the cursor has to be the first character of the word.
d$: delete to the end of the line
0: move to the end of the line.
d3w: delete the 3 words after the cursor. d4w will delete 4 words
U: To undo all the changes on a line
p: put the line which deleted by command 'dd' under the cursor line
r: Type rx to replace the character at the cursor with x
ce: To change until the end of a word, type ce
c$: Delete the context from cursor to the end of the line, and go the input mode
ctrl+g : To show your location in the file and the file status.
G: Go to the bottom of the file.
gg: To move you to the start of the file.
G: Type the number of the line you want to go and then G, this will go to the line you wann to go.
/: search for the phrase from forward
?
: search for the phrase from backward
n: search the same phrase again, simple type n
N: search the same phrase in the opposite direction, type N
ctrl+o: To go back to where you came from. Repeat to go back further
ctrl+i: To go forward
%: to find a matching ),], or }. This is very useful in debugging a program with unmatched parentheses
:s/old/new/ to substitute 'new' for 'old', only change the first occurrence
:s/old/new/g to substitute 'new' for 'old', will change all the occurrences in the line
:%s/old/new/g to change every occurrence in the whole file
:%s/old/new/gc to find every occurrence in the whole file, with a prompt whether to substitute or not
o: to open a line below the cursor and place you in insert mode.
O: to open a line above the cursor and place you in insert mode.
a: to insert text AFTER the cursor
i: to insert text BEFORE the cursor
A: to insert text at the end of line
R: replace more than one character
r: replace one character of cursor position
copy and paste:
1. start visual mode with v and move the cursor to select the text you want to copy
2. Type y to yank(copy) the highlighted text.
3. Go to the position which you want to paste your text
4. Type p to put(paste) the text
set option:
:set number(set nu): show up line number
:set ic: set ignores case when searching or substitute
:set hls is: set lisearch and incsearch option
:set noic: disable ignoring case
if you want to ignore case for just one search command, user \c in the phrase: /youString\c
版权声明:本文博客原创文章。博客,未经同意,不得转载。
VIM 初步的更多相关文章
- vi/vim初步接触
vi和vim一直被人津津乐道,到底是什么使得它们如此受欢迎? vi分为3种模式:一般模式,编辑模式,命令行模式. (1)一般模式: 进入vi后,默认就是一般模式. 用处:方便地移动光标,删除字符/整行 ...
- install vim
常用命令: [0]安装vim: oee@copener:~$ sudo apt-get install vim vim-scripts vim-doc 刚安装完$HOME目录下只有两个文件:.vim/ ...
- 20135328信息安全系统设计基础第二周学习总结(vim、gcc、gdb)
第三周学习笔记 学习计时:共8小时 读书:1 代码:5 作业:1 博客:7 一.学习目标 熟悉Linux系统下的开发环境 熟悉vi的基本操作 熟悉gcc编译器的基本原理 熟练使用gcc编译器的常用选项 ...
- Linux 桌面玩家指南:02. 以最简洁的方式打造实用的 Vim 环境
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- Android开发最佳学习路线图
为了帮助大家更好的学习Android开发的相关知识,尚观4G智能操作系统研究室(www.up4g.com)为大家制作下面学习路线图:希望能帮助到广大的android爱好者. 在開始之前我们 ...
- Android开发最佳学习路线图(转)
Android开发总体路线图: 基础学习——JavaSE: 很多朋友一上手就开始学习Android,似乎太着急了一些. Android应用程序开发是以Java语言为基础的,所以没有扎实 ...
- 尚观Linux最佳入门高清视频教程033/133/253
[高清]Linux 最佳入门ULE112- RHCE033部分高清视频教程[尚观原创] 视频简介:高清RHCE033部分是RHCE考试中的基础部分,同时也是我们Linux入门的必 备学习资料.想学好L ...
- vim插件开发初步
[vim插件开发初步] 将如下代码存在helloworld.vim, 放在~/.vim/plugin目录下,插件即可生效.:w保存代码后, 用:source命令执行后,也可以使用Helloworld命 ...
- vim基础初步
vim文本编辑器初步 一.跟vi编辑器的关系 可以说vim编辑器是vi编辑器的升级版,它保留了vi编辑器的所有东西,而且加入了自己的新的特性. 比如说:支持跨平台,支持语法高亮,支持多级撤销等. ++ ...
随机推荐
- 经典回忆Effective C++ 1
c++ 联邦语言: typedef { unit C; unit Object-Oriented C++; unit Template C++; unit STL; }; notice: C++高效编 ...
- 自定义JSTL函数标签(一)
jstl标签库的配置 * 将jstl.jar和standard.jar拷贝到WEB-INF/lib下(如果使用el表达式,不用拷贝这两个jar) 注意:jstl必须在能够支持j2ee1.4/servl ...
- Android 下拉刷新上拉载入效果功能
应用场景: 在App开发中,对于信息的获取与演示.不可能所有将其获取与演示,为了在用户使用中,给予用户以友好.方便的用户体验,以滑动.下拉的效果动态载入数据的要求就会出现. 为此.该效果功能就须要应用 ...
- 初识google多语言通信框架gRPC系列(二)编译gRPC
目录 一.概述 二.编译gRPC 三.C#中使用gRPC 四.C++中使用gRPC 无论通过哪种语言调用gRPC,都必须要编译gRPC,因为生成proto访问类时,除了产生标准的数据定义类之外,还需要 ...
- 【SICP归纳】2 高阶函数和数据抽象
上一篇博文相应的是书中的第一章的一二两节,我们已经大致的有了一种构造的感觉不是么. 书中展示了非常多有趣的句法(syntax). 如今我们要让思想进一步的抽象.写这篇博客的时候并未学完整本书.更不敢说 ...
- Nutch+Lucene搜索引擎开发实践
网络拓扑 图 1 网络拓扑图 安装Java JDK 首先查看系统是否已经安装了其它版本号的JDK,假设有,先要把其它版本号的JDK卸载. 用root用户登录系统. # rpm-qa|grep gcj ...
- 白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》串行4(场景变化)
作为一个真正的利用价格值应用,首先,你应该至少有两页,通过切换页面来实现很多其他互动.比如手机人人网,首先,打开后进入登录页面,将有登录后,新的东西.然后拉左侧面板.你可以看到相册.私人信息.像其他应 ...
- C++习题 对象转换
[Submit][Status][Web Board] Description 定义一个Teacher(教师)类(教师号,姓名,性别,薪金)和一个Student(学生)类(学号,姓名,性别,成绩),二 ...
- .NET Core 1.0、ASP.NET Core 1.0和EF Core 1.0简介
.NET Core 1.0.ASP.NET Core 1.0和EF Core 1.0简介 英文原文:Reintroducing .NET Core 1.0, ASP.NET Core 1.0, and ...
- 手动安装英特尔® 凌动™ Android* x86 模拟器映像
android的模拟器实在是太慢了,慢的让人欲仙欲死,欲罢不能.猛然发现我的电脑是intel的CPU,我勒个去,换x86模拟器.然后悲剧了,伟大的gfw 我要装sdk,我要研究android开发,到底 ...