技术标签: linux vim set ff
vim - vi 增强版。文本编辑器
格式:vim [options] [file ..]
说明:如果file存在,文件被打开并显示内容,如果文件不存在,当编辑后第一次存盘时创建它
[options]常用选项:
vim +[num] :直接进入到编辑文挡的第num行
vim + :直接进入到最后一行
vim +/PATTERN :直接跳转到模式PATTERN第一次匹配到的行
vim -m :只读方式打开文件
vim -d file1 file2... :打开编辑多个文件
vim的三种模式:
命令模式:默认模式,移动光标,剪切/粘贴文本等
输入(编辑)模式:修改文本
末行(扩展)模式:保存,退出,查找等
模式切换:
1、命令式 to 输入模式
i:在当前光标所在处输入:
I:在当前光标所在行的行首
a:在光标所在处的后面输入
A:在当前光标所在行的行尾输入
o:在光标所在行的下方新增一个空白行输入
O:在光标所在行的上方新增一个空白行输入
2、 输入模式 to 命令模式:
按ESC键
3、 命令模式 to 末行模式:
按:键
4、末行模式 to 命令模式
按两次ESC键
命令模式的常用快捷键
1、光标移动
字符间跳转:
h:左 l:右 j:下 k:上
#[h | l | j | k ]:跳转#个字符
单词键跳转
w:跳至后一个单词的词首
b:跳至当前或前一个单词的词首
e:当前或下一个单词的词尾
当前页面跳转:
H:当前屏幕的最上面
L:当前屏幕的最下面
zt:将光标所在行移动到屏幕顶端
zz:将光标所在当前行移动到屏幕中间
zb:将光标所在行移动到屏幕底端
行内移动:
0:数字0绝对行首
^:第一个非空白字符
$:绝对行尾
行间移动:
#G 跳转到#行
#gg 跳转到#行
G:最后一行
1G:第一行
gg:第一行
句子间移动:
):
(
段落间移动:
{
}
翻屏操作:
Ctrl+f:向文件尾部翻一屏
Ctrl+b:向文件首部翻一屏
Ctrl+d:向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
2、编辑操作
字符编辑
x或DEL键:删除光标所在处字符
#x:删除光标所在处开始后的#个字符
xp:交换光标所在处的字符及后面字符的位置
~:大小写转换
J:删除当前行末尾的换行符
替换命令:
r:替换光标所在处字符,输入一个字符进行替换,可用于单词拼写错误情况
R:切换成REPLACE模式
删除命令
d:删除命令
结合各光标跳转命令使用
d$:删除光标所在位置一直到行尾所有字符(包括光标所在字符)
d^:删除光标所在位置一直到行首所有字符(不包括光标)
d0:删除到行首
dw:删除到后面第一个单词词首
de:删除到后面第一个单词的词尾
db:删除到前面第一个单词词首
dd:删除一行
#dd:删除光标所在处以下N行
dG:删除到文档尾部
dgg:删除到文档首部
c:改变,删除以后直接进入插入模式
c$:删除光标所在位置一直到行尾所有字符(包括光标所在字符)
c^:删除光标所在位置一直到行首所有字符(不包括光标)
c0:删除到行首
cc:删一行
#cc:删除光标所在处以下N行
y:yank,复制
yy:复制1行
#yy:复制#行
p:paste,粘贴yy复制的内容或者dd删除的内容
复制或删除的是整行
p:粘贴在光标所在行的下方
P:粘贴在光标所在行的上方
复制或删除的为非整行
p:粘贴在光标所在字符的后面
P:粘贴在光标所在字符的前面
撤销编辑:
u:undo
#u
U:撤销光标落在这行后所有此行的更改
恢复撤销:
Ctrl+r,和u意义相反
重复执行此前的命令:"."
重复签一个操作N次:"N."
命令模式特殊用法:
100iwang[ESC]粘贴“wang”100次
Command:
y复制、d删除、gU变大写、gu变小写
例如:0y$命令意味着:
0->先到行头
y->从这里开始拷贝
$->拷贝到本行最后一个字符
ye从当前位置拷贝到本单词的最后一个字符
di "光标在" "之间,则删除这行中" " 之间的内容,可以是多种符号" ' () [] {} 等等
yi 光标在()之间,则复制()之间的内容
vi[ 光标在[]之间,则选中[]之间的内容
dtx 删除字符直到遇见光标之后第一个x字符
ytx 复制字符直到遇见光标之后的第一个x字符
末行模式(扩展模式):
1、范围定界
:start,end
# 具体第#行,例如2表示第二行
1,2 第1到第2行
10,19 10到19行
10,+9 从第10行向后走9行
. 表示当前行
$ 最后一行
$-1 倒数第二行
/pat1/,/pat2/ 第一次被pat1匹配到的行,到第一次被pat2匹配到的行
#,/pat/ 从#行开始到第一次被pat匹配到的行
%全文
注意:如果不用地址定结符,只检查光标所在行
编辑命令:
d 删除
y 复制
w /path/to/somewhere :将范围内的行另存至指定文件中
r /path/to/somefile:把somefile文件内容插入到地址定界后面
例如 10r xxx 将xxx文件插入到第十行后面
!command 执行命令
r !命令 #将命令执行结果插入,如 r !hostname 将hostname执行结果插入进入文档
2、查找
/PATTERN:从当前光标所在处向文件尾部查找
?PATTERN:从当前光标所在处向文件尾部查找
n:与命令同方向
N:与命令反方向
3、*查找替换:
:地址定界s/查找模式(正则)/替换为内容/gi
要查找的内容:可使用模式
要替换的内容:不能使用模式,但是可以使用\1,\2 等后向引用副号;还可以使用&引用前面查找到的整个内容
修饰符:
g:全局替换,一行中出现多次也替换
gc:全局替换,每次替换前询问
i:不区分大小写
&:用于在替换为的内容部分中引用前面匹配到的所有内容
定制vim工作特性:
配置文件:永久有效
全局:/etc/vimrc
个人:~/.vimrc
扩展模式:当前vim进程有效
(1) 行号
显示:set number, 简写为set nu
取消显示:set nonumber, 简写为set nonu
(2) 忽略字符的大小写
启用:set ic
不忽略:set noic
(3) 自动缩进
启用:set ai
禁用:set noai
(4) 智能缩进
启用:smartindent简写set si
禁用:set nosi
(5) 高亮搜索
启用:set hlsearch
禁用:set nohlsearch
(6) 语法高亮
启用:syntax on
禁用:syntax off
(7) 显示Tab和换行符^I 和$显示
启用:set list
禁用:set nolist
(8) 文件格式
启用windows格式:set fileformat=dos
启用unix格式:set fileformat=unix
简写:set ff=dos|unix
(9) 设置文本宽度
set textwidth=65 (vimonly)
set wrapmargin=15
(10) 设置光标所在行的标识线
启用:set cursorline,简写cul
禁用:set no cursorline
(11) 复制保留格式
启用:set paste
禁用:set nopaste
文章浏览阅读779次,点赞19次,收藏24次。springboot微信小程序的小疾病问诊服务系统的设计与实现。springboot基于spring的物业管理系统的设计与实现。springboot基于Java的高校学生请假系统。ssm基于Android的购物商场APP设计与实现。springboot基于微信小程序的智慧校园系统。ssm基于Android的英语词典的设计与开发。ssm基于SSM+Vue的学生实践管理平台开发。ssm基于android的企业员工考勤系统。ssm基于web的暗香小店系统的设计与实现。ssm基于Web的高等学校公费医疗管理系统。
文章浏览阅读2.3w次,点赞15次,收藏63次。hover属性用不同的书写方式,来改变不同关系的元素样式。元素:hover 表示聚焦后改变自己元素:hover 元素 表示聚焦后改变其子元素元素:hover + 元素 表示聚焦后改变其指定的“亲兄弟”(条件是该兄弟元素与其相邻)元素元素:hover ~ 元素 表示聚焦后改变其指定的兄弟元素,两个元素相不相邻都行。示例:.first:hover {color: white;}/* 聚焦我改变自己 */.three:hover .three-son {font-size: 20px._css hover的用法
文章浏览阅读6k次,点赞3次,收藏15次。coursera-斯坦福-机器学习-吴恩达-第8周笔记-无监督学习coursera-斯坦福-机器学习-吴恩达-第8周笔记-无监督学习1聚类算法clutering1聚类算法简介2K-means21kmeans的目标函数22随机初始化23选择类别数3考试quiz维数约减 dimensionality reduction1数据压缩2数据可视化3维度约简-主成分分析法PCA1 PCA_pca反向压缩
文章浏览阅读5.2k次。一、插件安装Vundle是vim的一个插件管理器, 同时它本身也是vim的一个插件。插件管理器用于方便、快速的安装、删除、Vim更新插件。mkdir -p ~/.vim/bundlegit clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim管理器安装完成后,vim ~/.vimrc命令创建.vimrc文件syntax on" tab宽度和缩进同样设置为4set tabstop=4set softta_bxbx.vim
文章浏览阅读7.2w次,点赞10次,收藏41次。本文适用于当前面临java.lang.ClassNotFoundException挑战的Java初学者。 它将为您提供此常见Java异常的概述,这是一个示例Java程序,可支持您的学习过程和解决策略。 如果您对与更高级的类加载器相关的问题感兴趣,我建议您复习有关java.lang.NoClassDefFoundError的文章系列,因为这些Java异常密切相关。 java.lang..._java.lang.classnotfoundexception:
文章浏览阅读1.2k次,点赞9次,收藏17次。不同的设备间建立连接往往需要通信,而串口通信是十分常用的一种。UART串口通信需要两根线来实现,一根用于串口发送,另外一更用于串口接收。UART串口发送或者接收过程中一帧数据包括1位起始位、8位数据位、1位停止位,为了提高数据的可靠性可以在停止位前加上1位奇偶校验位。串口通信虽然十分简单,但是在不同设备间发送的数据往往不止1个字节,往往需要多个字节组成的数据包。当我们按照数据包发送时我们需要考虑到以及,因此我们可以采用定义数据帧的方式解决上述两个问题。_一帧数据
文章浏览阅读987次,点赞20次,收藏19次。偏微分方程PDE图像去噪(含SNR)完整的代码,方可运行;可提供运行操作视频!适合小白!_pdnet 深度学习 偏微分方程 去噪
文章浏览阅读6.6w次,点赞128次,收藏962次。Ubuntu18.0详尽版安装教程下载Ubuntu18.04下载VMware Workstation安装虚拟机下载Ubuntu18.04官方网站:http://old-releases.ubuntu.com/releases/18.04.4/?_ga=2.44113060.1243545826.1617173008-2055924693.1608557140下载VMware Workstation这个在网上有很多教程下载,这里我就不写了,我用的版本是14 pro。如下图:安装虚拟机1、打开_ubuntu18安装
文章浏览阅读1.7k次。1. 概览Activity的管理有静态和动态两层涵义: 静态是指Activity的代码组织结构,即Application中声明的Activity的集合,这些Activity被组织在一个APK中,有特定的包名。 在编写应用程序时,Activity对应到用户界面,它定义了用户界面的布局、交互行为、启动方式等,最重要的,是Activity的生命周期函数。 在应用进程看来,只需要按照Android定义的规范,实现生命周期函数的具体逻辑即可,所有的用户界面都遵循同一个规范。 编写完一个应用程序的所有用户界面_android activityrecord中的activitytype
文章浏览阅读5.5k次,点赞3次,收藏7次。sed 查找不包含某个特性 sed -i "/src/!s/xxx/bbb/g" xxx将不包含src的行中的xxx替换为bbb_sed不包含字符串
文章浏览阅读6.8k次,点赞11次,收藏18次。问题解决:shared_ptr Assertion px != 0 failed及debug经验分享问题详细描述:/usr/include/boost/smart_ptr/shared_ptr.hpp:646: typename boost::detail::sp_dereference::type boost::shared_ptr::operator*() const [with T = pcl::PointCloudpcl::pointxyz; typename boost::detail::sp_typename boost::detail::sp_dereference::type boost::shared_ptr::operat
文章浏览阅读553次。编者按:在这个万物智联的时代,无论是在线网络购物,还是网络强国、数字中国建设,都离不开一张“看不见的网”——基础设施网络。2009年,首届双11每秒交易订单创建峰值400;2021年,双11每秒交易订单创建峰值58.3万,12年交易数字量猛增的背后,是阿里云在庞大分布式系统上计算和IO能力的飞跃,更离不开阿里云基础设施底层网络技术的支撑。图|阿里云全球基础设施网络系统作为阿里云基础设施的重要组成部分,阿里云基础设施网络团队负责整个阿里云全球基础设施网络,包括大规模高性能数据中心网络,全球数据中心互联_阿里云网络基线理解