linux的基本操作(文本编辑工具vim)
文本编辑工具vim
* 命令模式:在一般模式下,输入”:”或者”/”即可进入命令模式。在该模式下,你可以搜索某个字符或者字符串,也可以保存、替换、退出、显示行号等等。
下面笔者教你如何在一个空白文档中写入一段文字,然后保存。
输入vim test.txt直接回车进入一般模式。然后按"i" 字母进入编辑模式
会看到窗口的左下方出现”INSERT”字样,说明已经进入了编辑模式,此时就可以写入内容了。
等编辑完内容后,按ESC退出编辑模式,进入一般模式。此时在左下方的”INSERT”字样消失,然后按”:”进入命令模式,最后输入wq保存并退出vim。
这时,看一下test.txt文档的内容吧。
其实vim为全键盘操作的编辑器,所以在各个模式下都有很多功能键盘的。下面笔者列举一下,其中笔者认为常用的会用红色标出,需要你多加练习,另外不常用的你也要知道的。
|
一般模式下移动光标
|
|
h或向左方向键
|
光标向左移动一个字符
|
|
j或者向下方向键
|
光标向下移动一个字符
|
|
K或者向上方向键
|
光标向上移动一个字符
|
|
l或者向右方向键
|
光标向右移动一个字符
|
|
Ctrl + f 或者pageUP键
|
屏幕向前移动一页
|
|
Ctrl + b 或者pageDOWN键
|
屏幕向后移动一页
|
|
Ctrl + d
|
屏幕向前移动半页
|
|
Ctrl + u
|
屏幕向后移动半页
|
|
+
|
光标移动到非空格符的下一列
|
|
-
|
光标移动到非空格符的上一列
|
|
n空格(n是数字)
|
按下数字n然后按空格,则光标向右移动n个字符,如果该行字符数小于n,则光标继续从下行开始向右移动,一直到n
|
|
0(数字0)或者Shift+6
|
移动到本行行首
|
|
Shift+4
|
即’$’移动到本行行尾
|
|
H
|
光标移动到当前屏幕的最顶行
|
|
M
|
光标移动到当前屏幕的中央那一行
|
|
L
|
光标移动到当前屏幕的最底行
|
|
G
|
光标移动到文本的最末行
|
|
nG(n是数字)
|
移动到该文本的第n行
|
|
gg
|
移动带该文本的首行
|
|
n回车(n是数字)
|
光标向下移动n行
|
|
一般模式下查找与替换
|
|
/word
|
向光标之后寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜后一个
|
|
?word
|
想光标之前寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜前一个
|
|
:n1,n2s/word1/word2/g
|
在n1和n2行间查找word1这个字符串并替换为word2,你也可以把”/”换成”#”
|
|
:1,$s/word1/word2/g
|
从第一行到最末行,查找word1并替换成word2
|
|
:1,$s/word1/word2/gc
|
加上c的作用是,在替换前需要用户确认
|
|
一般模式下删除、复制粘贴
|
|
x,X
|
x为向后删除一个字符,X为向前删除一个字符
|
|
nx(n为数字)
|
向后删除n个字符
|
|
dd
|
删除光标所在的那一行
|
|
ndd(n为数字)
|
删除光标所在的向下n行
|
|
d1G
|
删除光标所在行到第一行的所有数据
|
|
dG
|
删除光标所在行到末行的所有数据
|
|
yy
|
复制光标所在的那行
|
|
nyy
|
复制从光标所在行起向下n行
|
|
p,P
|
p复制的数据从光标下一行粘贴,P则从光标上一行粘贴
|
|
y1G
|
复制光标所在行到第一行的所有数据
|
|
yG
|
复制光标所在行到末行的所有数据
|
|
J
|
讲光标所在行与下一行的数据结合成同一行
|
|
u
|
还原过去的操作
|
|
进入编辑模式
|
|
i
|
在当前字符前插入字符
|
|
I
|
在当前行行首插入字符
|
|
a
|
在当前字符后插入字符
|
|
A
|
在当前行行末插入字符
|
|
o
|
在当前行下插入新的一行
|
|
O
|
在当前行上插入新的一行
|
|
r
|
替换光标所在的字符,只替换一次
|
|
R
|
一直替换光标所在的字符,一直到按下ESC
|
|
命令模式
|
|
:w
|
将编辑过的文本保存
|
|
:w!
|
若文本属性为只读时,强制保存
|
|
:q
|
退出vim
|
|
:q!
|
不管编辑或未编辑都不保存退出
|
|
:wq
|
保存,退出
|
|
:e!
|
将文档还原成最原始状态
|
|
ZZ
|
若文档没有改动,则不储存离开,若文档改动过,则储存后离开,等同于:wq
|
|
:w [filename]
|
编辑后的文档另存为filename
|
|
:r [filename]
|
在当前光标所在行的下面读入filename文档的内容
|
|
:set nu
|
在每行的行首显示行号
|
|
:set nonu
|
取消行号
|
|
n1,n2 w [filename]
|
将n1到n2的内容另存为filename这个文档
|
|
:! command
|
暂时离开vim运行某个linux命令,例如 :! ls /home 暂时列出/home目录下的文件,然后会提示按回车回到vim
|
暂时就讲这么多了。如果你全部掌握,你就是vim高手啦。如果你觉得太多,只要记住笔者标红部分即可,其他的用时再过来查就ok啦。下面笔者给你留一个小作业,希望你要认真完成!
1. 请把/etc/init.d/iptables 复制到/root/目录下,并重命名为test.txt
2. 用vim打开test.txt并设置行号
3. 分别向下、向右、向左、向右移动5个字符
4. 分别向下、向上翻两页
5. 把光标移动到第49行
6. 让光标移动到行末,再移动到行首
7. 移动到test.txt文件的最后一行
8. 移动到文件的首行
9. 搜索文件中出现的 iptables 并数一下一共出现多少个
10. 把从第一行到第三行出现的iptables 替换成iptable
11. 还原上一步操作
12. 把整个文件中所有的iptables替换成iptable
13. 把光标移动到50行,删除字符”$”
14. 还原上一步操作
15. 删除第50行
16. 还原上一步操作
17. 删除从37行到42行的所有内容
18. 还原上一步操作
19. 复制48行并粘贴到52行下面
20. 还原上一步操作(按两次u)
21. 复制从37行到42行的内容并粘贴到44行上面
23. 还原上一步操作(按两次u)
24. 把37行到42行的内容移动到19行下面
25. 还原上一步操作(按两次u)
26. 光标移动到首行,把/bin/sh 改成 /bin/bash
27. 在第一行下面插入新的一行,并输入”# Hello!”
28. 保存文档并退出
29.跳转到命令行的首部ctrl+a 跳转到命令行的尾部 ctrl+e
30.跳转到行首 0 跳转到行尾$
linux的基本操作(文本编辑工具vim)的更多相关文章
- 只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs
只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs [ide is evil] (http://i.cnblogs.com/EditP ...
- linux入门教程(九) 文本编辑工具vim
前面多次提到过vim这个东西,它是linux中必不可少的一个工具.没有它很多工作都无法完成.早期的Unix都是使用的vi作为系统默认的编辑器的.你也许会有疑问,vi与vim有什么区别?可以这样简单理解 ...
- 基础篇:一文讲懂树莓派命令行文本编辑工具Vim的使用
简介 众所周知,在Linux系统下的命令行调试界面,经常会遇到需要文本编辑的情况,而树莓派官方系统默认自带了Nano编辑器,Nano的操作门槛更低,但却不如Vim编辑器方便.Vim编辑器是由早期在Li ...
- 文本编辑工具vim
前面多次提到过vim这个东西,它是linux中必不可少的一个工具.没有它很多工作都无法完成.早期的Unix都是使用的vi作为系统默认的编辑器的.你也许会有疑问,vi与vim有什么区别?可以这样简单理解 ...
- 文本编辑 工具vim
一vim的3种常用模式:一般模式.编辑模式和命令模式 如果系统里没有vim工具,需安装 1,一般模式 首先复制一个文件到/tmp/目录下,并改名为1,txt 移动光标: h 或 向左箭头键(←) ...
- linux初学者-编辑文件工具vim
"vim"是linux中非常强大,应用非常广的编辑方式.下面介绍一些"vim"的基本用法.以"/etc/passwd"为例. 1.vim ...
- Linux下的文本编辑工具
vi/vim nano(据说Ubuntu下推荐用这个,有点反人类,不太习惯) emacs
- 文本编辑工具 Vim
Vim是Vi的升级版 vi和Vim的区别在于vi不会显示颜色,Vim会显示颜色 1.如果没有,可以安装 #yum install -y vim-enhanced
- 文本编辑工具 Vim与压缩打包
vim一共有3种模式:一般模式.编辑模式和命令模式 一般模式下的移动光标 光标向左移动:h或者向左的方向键 光标向右移动:l或者向右的方向键光标向上移动:k或者向上的方向键光标向下移动:j或者向下的方 ...
随机推荐
- C# Task WaitAll和WaitAny
Task 有静态方法WaitAll和WaitAny,主要用于等待其他Task完成后做一些事情,先看看其实现部分吧: public class Task : IThreadPoolWorkItem, I ...
- 小白入门使用Nginx基础的常用操作
nginx启动,重启,关闭命令 停止操作 停止操作前需要ps当前Nginx的所有进程 步骤1:查询nginx主进程号 ps -ef | grep nginx 在进程列表里 面找master进程,它的编 ...
- 【ASP.NET Core】浅说目录浏览
何谓“浅说”?就是一句话说不完,顶多两句话就介绍完毕,然后直接给上实例的解说方式.化繁为简,从七千年前到现在,从老祖宗到咱们,一直都在追求的理想目标,尽可能把复杂的东西变成简单的. 老周告诉你一个可以 ...
- 移动应用开发技术选型:WebApp>HybridApp>NativeApp
一:概念辨析 Web App:生存在浏览器里的应用,只能运行在浏览器里,宿主是浏览器,不是操作系统.资源一般都在网络上,就是一个触屏版的网站.如:微信公众号.不需要在设备上下载安装,只需通过浏览器即可 ...
- 开源自己写的Library到github,让别人或自己的项目依赖
对于不会git命令的自己,要上传项目或libary,看了本文,傻瓜式操作,绝壁简单! 新建一个空白工程 File-->New-->New module-->Android Libra ...
- Python实现下载文件的三种方法
下面来看看三种方法是如何来下载zip文件的:方法一: import urllib print "downloading with urllib" url = 'http://www ...
- LaTeX网址
https://www.latex-project.org/ latex官网 http://www.latexstudio.net/ 国内知名latex学习中心 https://www.ove ...
- Atitit 文员招募规范 attilax总结
Atitit 文员招募规范 attilax总结 1. 概念 2 2. 文员招募范文 2 3. 重大意义 3 3.1. 第一层 文章撰写 能力 3 3.2. 第二次 文档管理能力 文档索引 检索查找 ...
- [C++]Qt程式异常崩溃处理技巧(Win)
文章转载来自 http://www.cnblogs.com/lcchuguo/p/5177715.html 作者 lcchuguo https://blog.csdn.net/baid ...
- Java编程的逻辑 (93) - 函数式数据处理 (下)
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...