使用vim编辑器、shell命令的补充

vi编辑器是Unix系统最初的编辑器。它使用控制台图形模式来模拟文本编辑窗口,允许
查看文件中的行、在文件中移动、插入、编辑和替换文本。

vim (vi improved)

需要在Ubuntu发行版中安装基础版的vim包:
sudo apt-get install vim

查看vim软件包的位置:
which vim
ls -l /usr/bin/vim

命令用法:vim filename

如果在使用命令vim时,指定了一个不存在的filename,vim会开辟一段新的缓冲区域来
编辑,编辑完保存后相当于新建了这样一个文件。

如果在使用命令vim时,指定了一个已有文件的名字,vim会读取该文件的所有内容,
放到一段缓冲区域来准备编辑。

vim编辑器有两种操作模式:

普通模式:当你刚打开要编辑的文件时(或新建一个文件时),vim编辑器会进入普通模
式。在普通模式中,vim编辑器会将按键解释成命令。

插入模式/编辑模式:在插入模式下,vim会将你在当前光标位置输入的每个键都插入到缓冲区。
在普通模式下按下i 键就可以进入插入模式。要退出插入模式回到普通模式,按下键
盘上的退出键(ESC键,也就是Escape键)就可以了。在插入模式下,你可以向缓冲
区输入内容(就跟记事本输入一样的)。

在普通模式下可以用方向键在文本区域移动光标。vim中有用来移动光标的命令。

h:左移一个字符
j:下移一行(文本中的下一行)
k:上移一行(文本中的上一行)
l:右移一个字符
(小键盘上的上下左右就可以)

但一行一行来回移动很麻烦,vim可以提供一些能够高速移动的命令:

PageDown(或Ctrl+F):下翻一屏
PageUp(或Ctrl+B):上翻一屏
G:移到缓冲区的最后一行
gg:移到缓冲区的第一行

vim编辑器在普通模式下有一特别功能叫命令行模式,在普通模式下按下冒号键(:)

在命令行模式下有几个命令可以将缓冲区的数据保存到文件中并退出vim。
q:如果未修改缓冲区数据,退出。如有修改,则出现提示
q!:取消所有对缓冲区数据的修改并强制退出
w filename:将文件保存到另一个文件中
wq:将缓冲区数据保存到文件中并退出
wq! :将缓冲区数据保存到文件中并强制退出

vim在删除数据时,实际上会将数据保存在单独的一个缓存器中。可以用p命令取
回数据。

在vim普通模式下,还可以轻松查找文本中的字符串:
普通模式下,按下斜线键(/),光标会跑到命令行。然后在斜线后面输入你要查找
的文本后,按下回车键,即可定位到第一个符合文本的位置。
要继续查找同一个单词,按下n键,表示下一个(next)

替换命令允许你快速用另一个单词来替换文本中的某个单词。必须进入命令行模式才能使
用替换命令。
替换命令的用法::s/old/new/

vim编辑器会跳到old第一次出现的地方,并用new来替换。可以对替换命令作一些修改来
替换多处文本。
:s/old/new/g:替换该行中的所有old。
:n,ms/old/new/g:替换行号n和m之间所有old。
:%s/old/new/g:替换整个文件中的所有old。
:%s/old/new/gc:替换整个文件中的所有old,但在每次出现时提示。

echo命令用于在终端中显示文本或变量的值

echo是 Linux系统中的内置命令,主要用于:
1.在终端显示文本信息
2.输出变量的值
3.生成格式化的字符串
4.向文件追加内容

Linux管道符(pipeline)是 shell 编程中众多控制操作符其中的一个,用来分隔一个或多个命
令的序列。shell 编程中管道符号是竖杠 (|)。
在 shell 中使用管道的格式如下:
command1 | command2 | command3

代表 command1 的输出作为 command2 的输入使用,而 command2 的输出又作为 command3 
的输入使用。

重定向输入(<):[n] < file
意思是将输入从文件描述符为 n 的文件重定向到 file。简单理解为,将文件 file 的内容作
为输入,输入给n。

也可以使用管道符来实现:

重定向输出(>):[n] > file
意思是将输出从文件描述符为 n 的文件重定向到 file。简单理解为,将n输出的结果作为
输入,输入给文件 file 。
这里需要注意的是,如果 file 不存在,将会创建 file,如果 file 存在,原有的文件内容将
被新的输入内容所覆盖!
如果需要将内容附加到文件中,需要使用 >> 来替代 > 符号。

有两种文件合并的方式,分别是 paste 和 join 的方式。
paste 命令可以将多个文件以列对列的方式加以合并(单纯的合并)。
join 命令可以将多个文件中有相同特征的列进行合并。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值