关于vim能快速编辑文本的能力,我们见识到了 operator + motion ,见识到了. 范式和宏。甚至可以使用命令来加快文本编辑。在后面我们又介绍了快捷键绑定来快速执行我们想要的操作。 这样即使我们手误将 main 写成了 mian ,vim能自动帮我们更新。再也不用怕编辑器报找不到 main 函数了 我们发现了它的第一个用途——纠正笔误。 有兴趣的小伙伴可以查看vim手册来了解。 可以在vim手册中详细阅读关于 iskeyword 部分的说明。这里就不再过多介绍,我认为当前定义更符合编码时的直觉。
另存与保存 回忆上节课内容🤔 我们上次进入了插入模式 从正常模式,按<kbd>i</kbd>,进插入模式 从插入模式,按<kbd>ctrl</kbd>+<kbd>c</kbd> 退回到正常模式 这次我们想想应该如何保存这个文件 ls -l . > oeasy.txt vi oeasy.txt 保存文件 首先要查询 save 相关的帮助📕 :h save 只是找到了 saveas {file} 这一看就是 另存为 啊 我们来试一下 <kbd>i</kbd> 进入插入模式 随便打字 🅰️ 然后另存为
插入模式是vim中主要用来处理输入的一种模式,在这种模式中,用户的输入的字符会显示在窗口中。该模式中的行为与在普通编辑器中输入类似。 这个技巧也是 《vim实用技巧》 书中介绍的,可以在vim中使用 :h digraph-table 来查看二合字母表。平时写代码基本用不到这个,所以这里就一笔带过吧。 替换模式 vim 中的替换模式与改写模式类似。它会将光标所在字符替换为新输入的字符,按照 vim官方文档的说法,替换模式不会变更文本自身的长度,只会在现有长度上替换已有文本。 如果不希望长度变化,vim提供了一种被称之为虚拟替换模式的方式,可以使用 gR 进入,这样再替换制表符的话,制表符被替换为一个字符+ 多余的空格,源文本长度不变。 至于虚拟替换模式解决tab 的问题,我更喜欢使用一些配置将tab 键改为空格,这里我们在配置文件中再添加几行 -- nvim lua 配置 vim.o.softtabstop = 4 vim.o.shiftwidth
字符格式化,有两种方式: 1、通过%占位符方式,%s,%d,% 2、通过format,其中format比较好用,可以居中、可以用%、可以用二进制、可以填充字符自定义; 1、利用%的案例 tp1="i am age":18}#指定名称,起名字 tp4="percent%.2f"%99.567#保留小数点几位 tp5="i am %(pp).2f"%{"pp":12.45667,}#指定名称,保留两位小数 tp6= print("tp1:",tp1) print("tp2:",tp2) print("tp3:",tp3) print("tp4:",tp4) print("tp5:",tp5) print("tp6: ",tp6) 执行结果: 2、利用format tp1="i am {},age{},you are{}".format("hhh",123,"yyy")#顺序填充 tp2="i am {},age{ *["hhh",123])#占位符索引填充,动态参数填充 tp5="i am ,age,you are too".format(name="hhh",age=123)#指定名称填充,名称顺序可变 tp6=
我不得不承认,在 code review 的时候,我花费了很多时间来研究 C# 的代码格式问题,这是没有太大意义的工作,我应该专注于其他事情,而不是观察同事是否忘记格式化代码,或者是使用了其他不同规则的代码编辑器 这是 .NET 6 的新功能,.NET CLI 引入了 dotnet format 命令 ,并且它是内置的命令。 需要注意的是,如果你安装了 .NET 6 Preview 7 SDK 或更高版本,应该使用 dotnet-format 而不是 dotnet format, 否则运行命令会报错。 如何使用? 格式化解决方案中的所有代码: dotnet format ./solution.sln 格式化单个项目的代码 dotnet format . /src/submodule-a/ 格式化并输出详细信息 dotnet-format -v diag 格式化并记录报告到文件 dotnet format --report .
本文中记录了在MySQL中如何进行时间数据的格式化 ? 53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53) 星期一是一周的第一天,与 %x 使用 %W 星期名 %w 周的天 (0=星期日, 6=
此外,vim 社区中,虽有 spf13-vim, k-vim 等一些比较有名的 vim 配置,但始终整合的不够,散落着很多适用特定环境的很好的配置,比如针对 c-c++, python, ruby 等等不同语言环境 (image-13aac6-1510556024398)] [图片上传失败...(image-787ab7-1510556024398)] [图片上传失败... 中,所谓的一个 Layer ,其实很简单,就是集成了一些相关的 vim 插件及其配置,涉及到两个文件: config.vim 与 packages.vim. 不难理解,config.vim 为该 Layer 的相关配置信息,packages.vim 则为该 Layer 所需的一些 vim 插件。 :space-vim 致谢 spacemacs spf13-vim ......
Vim 的配置涉及很多东西,如果对 Vim 配置不太熟悉的话,建议直接用 Github 上的配置,比较流行的有 ultimate vim 和 spacevim,其中前者在 star 数上是更多,也更流行的 ,笔者用过 spacevim,有时候会有些奇怪的报错,因为作为用户来说没有太大必要去了解 Vim 的配置,所以最后还是选择回了 ulimate vim,相对比较简单无脑。 git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime sh ~/.vim_runtime/install_awesome_vimrc.sh
还是继续重复造轮子吧 vim Linux vi/vim | 菜鸟教程 (runoob.com)
vim有三种模式vim file 即可创建file并进行编辑,自动进入命令模式命令模式^ 移动光标至行首$ 移动光标至行尾 中传递文件并运行时,可能会涉及到文件格式转换替换 %s///g %s/// s///g s///异常处理vim 或者vim -r 文件继续编辑
安装步骤# 第一步,下载源码# 到Vim官方Github仓库下载目前最新的Vim Release版本 wget https://codeload.github.com/vim/vim/tar.gz/v8.2.1258 第二步,解压# $ mv v8.2.1258 vim-v8.2.1258.tar.gz $ tar -xvzf vim-v8.2.1258.tar.gz 第三步,编译安装# $ cd vim-8.2.1258 prefix=$HOME/.local --enable-python3interp=yes && make && make install 这里注意一下我们需要用configure配置一下安装的路径,将Vim8 指令定向到刚刚安装的vim8,同时修改.bashrc确保之后一直能生效 alias vim='~/.local/bin/vim' echo "alias vim='~/.local/bin/vim'" >> ~/.bashrc 第五步,检查# vim --version 参考文献# CentOS7 上Vim8升级安装指南 CentOS 编译vim no terminal library found 注
不过一直以来 vim 中都缺少像 emacs-which-key 这样“形神兼备”的插件,这一点我在 space-vim 的 README 中也一早有提及。 vim-leader-guide 是 vim 里出现的一个比较接近的插件,它主要借鉴自 guide-key,而 guide-key 是 emacs-which-key 的前身,目前已经不更新了,上一次 因为 vim-leader-guide 之前长时间没有更新,而且在我看来不够 fancy,所以我对它进行了一个大的改造,也就是现在的 vim-which-key,主要改进的地方有: 大量 UI 细节上的调整与改进 vim-which-key 使用要求 vim-which-key 对于 vim 的版本和特性基本没什么要求,需要注意的一点是不要关闭选项 timeout,即不要在 vimrc 中设置 set notimeout 支持解析 <C-W> 等键位 更详细的样例可以参考 space-vim 的 leader.vim, 它也是截图中的配置。
安装步骤# 第一步,下载源码# 到Vim官方Github仓库下载目前最新的Vim Release版本 wget https://codeload.github.com/vim/vim/tar.gz/v8.2.1258 第二步,解压# $ mv v8.2.1258 vim-v8.2.1258.tar.gz $ tar -xvzf vim-v8.2.1258.tar.gz 第三步,编译安装# $ cd vim-8.2.1258 prefix=$HOME/.local --enable-python3interp=yes && make && make install 这里注意一下我们需要用configure配置一下安装的路径,将Vim8 指令定向到刚刚安装的vim8,同时修改.bashrc确保之后一直能生效 alias vim='~/.local/bin/vim' echo "alias vim='~/.local/bin/vim'" >> ~/.bashrc 第五步,检查# vim --version 参考文献# CentOS7 上Vim8升级安装指南 CentOS 编译vim no terminal library found 注
欢迎关注专栏 space-vim , 有空我会以 Vim 自带的 help (不妨 :help help 看一下) 为线索, 分享一些关于 Vim 的小知识 ,也会顺带着介绍一下 space-vim 的配置与用法 vim 命令的一般形式
如果对于 vim 不是一个完全的新手,大概能够发现大部分 vim 命令具有以下模式:(command)(text object).对于更改命令(change vim 进阶
使用数字
在很多 vim 的命令之前都可以使用一个数字,这个数字将会告诉 vim 这个命令需要执行几次。比如:
3j : 将会把光标向下移动三行。
10dd : 将会删除十行。 用vim写代码
vim 是程序员专用,自然有一些特性是专门为程序员而设计的。 参考:
Vim学习笔记
学习vi与vim编辑器 第七版 中文 东南大学出版社
vim常用命令 VIM虽说不长用,然是还是很需要掌握的,VIM功能强大的没话说,就是命令太多不好记! 老高就来慢慢总结一下VIM的常用命令和技巧吧! gg`VG` 选中全部的文本,其中gg为跳到行首,V选中整行,G末尾 y 复制 (默认是复制到"寄存器 p 粘贴 (默认从"寄存器取出内容粘贴) "+y 复制到系统剪贴板(也就是vim的+寄存器) 删除 行尾追加三个感叹号 3x 删除3个字符可以用 退出 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ ZZ 退出Vim :q!
光标移动: h,j,k,l h #表示往左,j表示往下,k表示往右,l表示往上 Ctrl f #上一页 Ctrl b #下一页 w, e, W, E #跳到单词的后面,小写包括标点 b, B #以单词为单位往前跳动光标,小写包含标点 O #开启新的一行 ^ #一行的开始 $ #一行的结尾 gg #文档的第一行 [N]G #文档的第N行或者最后一行 插
Vim/三种模式 Vim和Vi一样具有三种模式:命令模式(Command mode),插入模式(Insert mode)和底线命令模式(Last line mode)。 命令模式 用户刚刚启动Vim,便进入了命令模式。 此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。 若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式. 命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。 输入模式 在命令模式下按下i就进入了输入模式。
vim基础保存退出命令 vim xxx.file 输入文件内容; ins 按键 (键盘 i 键),切换插入和增加 按 ESC,左下角就可以进行输入 ,按ESC退出编辑模式,进入命令模式 :w 保存但不退出
format(String format,Object…args) 2.format(Local l, String format,Object…args) String类的静态 format()方法用于创建格式化后的字符串 ,该方法有两种重载方式,使用指定的格式字符串和参数返回一个格式化字符串,格式化后的新字符串使用本地默认的语言环境,区别在于1使用本地语言环境,2使用指定化语言环境,如果l为NULL,则不进行本地化。 2.时间和日期格式化 package number; import java.util.Date; //这句话的意思是导入包,这里面有好多写好的类,时间日期类就是Date public class Xuexi 3.常规格式化 ? public static void main(String[] args) { String year=String.format("%b", 4>5);//转换符%b,结果被格式化为布尔类型
Vi拥有众多的衍生项目,Vim就是其中一个;主要区别: Vim完全继承Vi的原有操作。 Vi仅支持单次撤回,Vim支持多次撤回。 Vim用于丰富的插件系统。 - 光标移动到非空格符的上一行 同时,如果你想格式化代码 ,可以按:gg=G,即可格式化代码。 安装插件 这里我演示安装nginx.vim这个插件,用来格式化(代码高亮)Nginx的Conf文件。 (比如:自动格式化代码?) 3. 卸载插件 最后,如何卸载插件呢?其实很简单,在~/.vimrc内,删除插件,之后执行:PlugClean即可。