Vim 基础

文本编辑类型:

全屏编辑器: Vim, Vi, Nano

行编辑器: sed

打开操作:

+#:打开文件直接让光标处于第#行, 直接使用+,会在文件最末尾

编辑操作:

i(insert), a(append), o(open打开一个新行) , I (行首输入),A(行尾) ,O(上方打开 一个新行) ,c (change),C

#command:一次跳过指定的字符

单词间跳转w(下一个), b(前一个), e(当前或下一个)

^ 行首第一个非空白字符

0 行首

$ 行尾

行间移动

#G:跳转到#指定行

G:最后一行

gg, 1g:第一行

(  ) :句间移动

{}:行间移动

编辑命令

x:删除光标处的字符

#x: 删除光标所在处的后#几个字符

p: 粘贴

d: 删除   d$, d0,dw ,de ,dw,db,d^

dd:删除所在行

p: 粘贴当前行的所在行的下方

P:粘贴当前行的所在行的上方

y:复制(yank):

ye ,yw, yb

yy:复制行

#yy 复制多行

改变命令

c:修改

编辑命令 --- 输入命令

替换命令

r:替换光标所在处的字符(不常用 ) 如ra 替换bbc 为abc

可视化模式

v:按字符选定

V:按行选定

撤销操作

u(undo):撤销此前操作

撤销撤销: ctrl +r (restore)

翻屏操作:

ctrl +f

ctrl + b

ctrl + d   向尾部翻半屏

ctrl + u  向首部翻半屏

vimtutor 教程

vim末行模式

内建

地址定界

:start_pos,end_pos例如1,3从1到3 行

.:当前行

$:最后一行

%:全文 相当于1,$

/pat1/,/pat2/:从第一次被 pat1 匹配到的行到第一次被pat2匹配到的结束

查找

/pattern 从当前光标所在处向文件尾部查找

?pattern 从当前光标所在处向文件首部查找

n:与命令同方向

N:与命令反方向

查找与替换

s:  在末行模式操作

s/要查找的内容/替换为的内容/修饰符

可以使用模式

修饰符:i 忽略大小写

g:全局替换,默认情况下,每一行只替换第一次出现.例如 1,$s/e\(..\)0/E\1O/g,    %s/r..t/&er/g(&为引用前面的r..t)

可以替换分隔符为#,@,等

多文件模式

vim  file1 file2,file3 ....

:next

:prev

:first

:last

:wall

:qall

窗口分割模式:

vim -o|-O FILE1  FILE2

-o水平分割

-O:垂直分割

在窗口间切换:ctrl + w, arrow

在单文件切割: ctrl +w ,s,水平分割, ctrl +w ,v,垂直分割

定制VIM的工作特性

全局:/etc/vimrc

个人:~/.vimrc

末行:当前进程有效

显示等号:set nu       set nonu

匹配:set showmatch简写 set sm , set nosm

自动缩进:set ai      set noai

高亮搜索: set hlsearch   highlight  set nohisearch

语法高亮: syntax on    syntax off

忽略大小写: set ic   set noic

bash 测试

-e:文件是否存在

存在及类别测试

-b: 存在且为块设备文件   -p -c  -S -l -d   -h

-z:如果 string 的长度为 0 则为真。

-nt :file1 新于 file2 , -ot :file1 旧于 file2

文件查找:在文件系统上找到符合条件的文件

文件查找:locate, find

非实时查找:locate(依赖于是否存在索引,索引构建过程需要遍历整个根文件系统,消耗系统资源。查找速度快,模糊查找。)

locate 要查找的文件file

实时查找:find.通过遍历指定路径下的文件系统完成文件查找。查找速度略慢,精确查找

find [OPTION]  查找路径 查找条件  处理动作

查找路径:指定具体查找路径,默认为当前目录

查找条件:默认为找出指定路径下的所有文件

-name "文件名称", 支持glob  * . ?    find ./ -name "*.sh"(严格区分文件大小写)  -iname:忽略大小写

-regex "模式" :   支持使用正则表达式。

-user USERNAME :查找指定用户的文件   find ./ -user cwb -ls

-group GROUPNAME

-uid UserID  -gid Gid

-nouser:用户被删除了,没有属主的文件

-nogroup      这些操作应该去做,找到将其删除,防止别人趁虚而入

-type TYPE: f   d  l  s b c  p

组合查找 -not  -a  -o   # find ./ -type f  \( -user cwb -o -user root \) -ls  如果整个条件取反时, -a 要变- o 或者-o变成-a

根据大小来查找

-size [+|-]   k m g

#UNIT :(#-1, # ]

-#UNIT :(#-1, # ]

+#UNIT :(#-1, # ] ,以上的都算

根据时间戳查找

以天查找  -atime

-ctime

-mtime     find ./ -mtime +3  3天之前修改过的,  -3 3天修改过的

以分钟 -amin -cmin -mmin

-perm 精确查找 find ./ -perm 644 -ls (精确匹配权限)。find ./  -perm /+222 -ls(至少有222权限中的一个) find ./  -perm /-222 -ls(每一类对象都必须同时拥有为其指定的权限标准)

-print :显示到屏幕

-ls 找到的文件执行"ls -l"

-delete 删除找到的文件

-fls /path/to/somefile :查找到所有文件的长格式信息保存到指定文件中

-ok COMMAND {}  \;  对查找到的每个文件执行由COMMAND指定的命令(交互式的,要求用户确认) {}:用于查找到文件名称自身。 find ./ -cmin -5 -exec mv {} {}.new \;

-exec COMMAND {}  \;

find . -name "*.txt" -print                          在当前目录中查.txt文件并显示
find . -name "[A-Z]*" -print                         查以大写字母开头的文件
find . -name "[a-z][a-z][0--9][0--9].txt" -print     查以两个小写字母和两个数字开头的txt文件
find . -size +1000000c -print                        查长度大于1Mb的文件
find . -size 100c -print                             查长度为100c的文件
find . -size +10 -print                              查长度超过期作废10块的文件(1块=512字节)
find . -name "host*" -print                          查以host开头的文件
find . -name "ap*" -o -name "may*"                   查找以ap或may开头的文件
find . -name "tom.txt" [!] -ftype vfat               查找名称为tom.txt且文件系统类型不为or为vfat的文件
find . -name "wa*" -type l                           查找名为wa开头且类型为符号链接的文件
find . [!] -type d -print                            查找非目录或者目录文件
find . -empty                                        查找大小为0的文件或空目录
find . -name "passwd*" -exec grep david {} \         看是否存在david用户
find . -perm 755 -print -exec ls -l {} \             查所有用户都可读写执行的文件
find . -name "tmp.txt" -exec cat {} \                查找temp.txt文件并查看
find . -name "tmp.txt" -ok rm {} \                   查找temp.txt文件并删除
find . -mtime -2                                     在.下查最近两天内改动过的文件
find . -atime -1                                     查1天之内被存取过的文件
find . -mmin +60                                     在.下查60分钟前改动过的文件
find . -amin +30                                     查最近30分钟前被存取过的文件
find . -user david                                   列出.目录内属于用户david的文件或目录
find . -uid +501                                     列出.目录内用户的uid大于501的文件或目录
find . -group david                                  列出.组内为david的文件或目录
find . -gid 501                                      列出.组内id为501的文件或目录

# find /etc/ -not -perm /+222 -ls 都没有写权限。
suid sgid sticky  chmod 4777 /tmp/a.txt

时间: 2024-08-27 14:47:04

Vim 基础的相关文章

Linux运维学习之——vim基础

linux下的vim文本编辑器的常用选项. vim(Visual interface Improved)是vi编辑器的增强版,体积小但是功能强大,是linux系统使用最频繁的文本编辑器,所以学好vim也是学好linux必不可少的技能! vim的命令格式: vim [options] [file ..] eg: [[email protected] ~]# vim hello.txt #用vim打开hello.txt文件 vim打开文件后的默认方式为编辑模式(也叫命令模式). 编辑模式(命令模式)

vim基础命令

vim基础命令 不定时更新 插入操作 i 普通插入a 从下一个字符处插入o 从下一行插入 I 在本行首插入A 在本行尾插入O 光标处插入新行 删除操作 x 删除光标所在字符nx 删除后面n个字符 dd 用来删除本行dG 删除到文尾D 删除到行尾 复制粘贴 yy 复制本行nyy复制从本行开始的往下n行dd 剪切p 向下粘贴P 向上粘贴 单字符替换恢复 r 替换当前字符R 开始替换到Escu 取消上步操作 移动操作 gg 到第一行G 到最后一行nG/:n 到第几行 替换与查找 /string 查找和

vim基础使用

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3931580.html 文本编辑器与字处理软件 字处理软件:Word, WPS 文本编辑器:处理ASCII数据 文本编辑:全屏,行(sed) 常用文本编辑器 nano:Linux中的一个简单的文本编辑器. vi: Visual Interface vim:vi improved    模式化,功能非常强大. 使用vim v

Vim基础入门之详解

一.简介 Vim(Vi[Improved])编辑器是vi的扩展版,比vi功能更加强大,是功能强大的跨平台文本文件编辑工具,可以利用它可以建立.修改文本文件等.Vim有三种操作模式,分别称为 编辑模式.插入模式 和 命令模式,当运行Vim时,首会进入命令模式. 二.命令模式 Vim命令模式下可以进行很多操作,例如光标跳动到指定的单词.行:复制.删除某行甚至很多行以及全文都可以,反正功能真的太强大了,以下就作出详解: (1)光标移动 ①如果键盘上有上.下.左.右箭头的导航键,就由这些键来完成光标的移

linux vim基础教程

网上有很多关于vim编辑器的使用教程经验之类的,但是小编觉得那些都是不适合新手朋友们,所以一下小编就浅谈vim的常用技巧,专门对新手朋友整理的.(注:vi与vim大同小异) [一般模式]使用[vim 文件名]初次使用vim的朋友可能会很郁闷,进入到vim的世界里,无处施展,那是因为我们刚进入到vim里是在一般模式(关于vim的三个模式,名称都各有说法,小编认为的三种模式是 : 一般模式,编辑模式,底行模式,一般模式和底行模式都可以看作是命令模式)下,在当前模式下我们是不能编辑文件的,一般小编在当

linux tar vim 基础

作业一:1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) [[email protected] /]# cat /etc/passwd /etc/group > 1.txt 2) 将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件/2.txt(追加) [[email protected] /]# cat /etc/passwd /etc/group >>  2.txt 3) 将/1.txt./2.txt两个文件打包为/1.tar [[email 

VIM基础

http://www.cnblogs.com/wawlian/archive/2012/05/22/2512801.html http://www.cnblogs.com/wawlian/archive/2012/12/08/2808503.html VIM内查看帮助的方式: :h #打开帮助手册 :h r #查看r操作相关说明 :h c #查看c操作相关说明 :h s #查看s操作相关说明

vim基础操作

vim可以分为三种模式,命令模式.插入模式.可视模式. 一.命令模式 vim设计之初就是让整个文本编辑都用键盘而非鼠标来完成,键盘上几乎每个键都有固定的用法.vim的制作者希望用户在命令模式完成大部分的编辑工作,将此模式设计为默认模式,初学者打开vim,如果直接输入单词,结果就会滴滴乱响,这是因为vim把用户输入的单词理解为命令了. 初学vim最大的障碍就在命令模式中.光标移动.复制粘贴.查找替换.退出保存...,每一种操作都对应着vim中的一个命令. 二.插入模式 插入模式下,我们可以进行文本

vim 基础学习之global

global命令可以在指定模式下,匹配行上进行Ex命令 使用格式: :[range]g[lobal]/{pattern}/[cmd] range-是执行范围(如果缺省,是%) global-命令关键字 pattern-匹配内容 cmd-Ex命令操作(缺省是print) 这个命令还有两个反向命令 global! vglobal(v) 他们的意思是,在没有匹配pattern的行上,执行cmd操作 global这个命令使用的时候,包括两步, 第一步是获得已经拥有标记的pattern匹配内容,如果这个值

vim 基础,基础不牢,地动山摇

现在来说说vim,vim 非常重要,可是我们有很多人都去关注高大上的技术去了,但是在用vim编辑文件的时候,效率不高.vim非常重要,我下面说的,也是经常用到的,简单的东西,希望全部记住,熟练于心,你的工作会帮助很大很大. 这里就说用vim的技巧: 技巧1: 编辑模式下(用vim打开文件默认是编辑模式),有人在打开vim后,用上下左右箭头来移动光标,这里不需要了,用"h j k l"这4个字母来移动,你没看错,就是键盘上挨着的这4个字母,h是向左,l是向右(因为他们一个在最左边,一个在