必须给今天看到的vim相关的东西记录一下!

vim文档中文化

https://github.com/yianwillis/vimcdoc

速查表

https://github.com/skywind3000/awesome-cheatsheets/blob/master/editors/vim.txt

相当赞。

接下来还有有意思的:

查单词

# install first
pip install ici
# try one try
ici naive

在.vimrc里面加上下面的话

nmap <Leader>y :!echo --==<C-R><C-w>==-- ;ici <C-R><C-W><CR>

就可以在单词上通过\y查单词了!(我并没有验证,反正看着玩)

其他光标移动命令

C-y 向上滚动屏幕

C-e 向下滚动屏幕

C-u 向上滚动半屏

C-d 向下滚动半屏

C-b 向后移动整屏

C-f 向前移动整屏

* 查找当前光标处单词,向前查找

# 查找当前光标处单词,反向查找

g命令

gg移动到文章最开始;

G 文章最后面;

gf 转到文件,也就是go to file;

gd 转到定义,也就是go to definition;

g* g# 类似* #,但是查找会匹配非完整词;

gj gj gk g0 g^ g$ 类似j k 0 ^ $, 作用于自动换行;

ga 查看当前字符的ascii;

gu gU 转换小写/大写,后面带一个motion

gQ 进入多行命令模式

还有很多,不想列举了。。。直接去看help吧。

z命令

zz 光标滚动到屏幕正中央

z. 光标定位到行首第一个非空白字符上,同时光标在屏幕居中

z<CR> 光标定位到行首第一个非空字符,同时光标在屏幕顶端

zt 光标卷到屏幕顶端(top)

zb 光标卷到屏幕低端(bottom)

za 折叠开关

zo 打开折叠(open)

zc 进行折叠(close)

简单的替换提示:s

:s/regexp/replacement/ 把regep替换成replacement,仅限当行的第一个;

:%s/regexp/replacement/g 前面加上%,表示整个文件搜索,最后加一个g,表示当前行的所有匹配;

最后的标记含义:

g 当前行的全部,global的意思吧

c 每次都要确认,也就是confirm

i 强制忽略大小写

I 强制不忽略大小写

还有其他的,有点复杂就不写了。

vim在shell下的光标问题

折腾了一下vim在shell下,光标模式问题。百度一下各种资料,最后都解决方案都是如下:

" Change cursor shape between insert and normal mode in iTerm2.app
if $TERM_PROGRAM =~ "iTerm"
let &t_SI = "\<Esc>]50;CursorShape=1\x7" " Vertical bar in insert mode
let &t_EI = "\<Esc>]50;CursorShape=0\x7" " Block in normal mode
endif

来源都是这里:

https://hamberg.no/erlend/posts/2014-03-09-change-vim-cursor-in-iterm.html

memoのVIM的更多相关文章

  1. [VIM] 格式化代码

    快速使用vim格式化代码 在vim的编辑模式i下直接ESC退出道命令模式之后直接敲入如下命令: gg=G        将全部代码格式化 nG=mG    将第n行到第m行的代码格式化 注:如果ESC ...

  2. Vim 实用技术,第 1 部分: 实用技巧(转)

    原文链接:http://blog.jobbole.com/20604/ 0. Vim 简介 作为开源世界最重要的编辑器之一(另一个是 Emacs),Vim 以其强大的功能和可定制能力被众多开发者所喜爱 ...

  3. VIM 初步

    按i前插入字符.a在光标后追加字符 ctrl+d将光标下称半个窗体.按Ctrl+u将光标上移半个窗体 在输入模式下:ctrl+h删除字符,ctrl+u删除行.ctrl+w删除字 命令模式下.x删除字符 ...

  4. 如何创建Vim Dotfile?

    Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...

  5. 玩转Vim 编辑器

    一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...

  6. vim安装中文帮助手册

    安装方法:   在下面的网站下载中文帮助的文件包:$wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar. ...

  7. vim环境变量配置、背景色配置

    我们使用vi或者vim的时候,如果想要显示行号,可能会这样做:切换到命令模式,然后输入set nu,再按回车键就显示了:还有就是咱们在编写程序的时候,有的时候会希望按下回车键后,光标不是每次都在行首, ...

  8. vim+vundle配置

    Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...

  9. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

  10. VIM教程

    vim 的环境设定参数 :set nu :set nonu             就是设定与取消行号啊! :set hlsearch :set nohlsearch     hlsearch 就是 ...

随机推荐

  1. 4、kubesphere环境安装

    安装步骤 选择4核8G(master).8核16G(node1).8核16G(node2) 三台机器,按量付费进行实验,CentOS7.9 安装Docker 安装Kubernetes 安装KubeSp ...

  2. 0.96OLED软件实现DMA串口接收数据模拟滚屏效果

    实现的滚屏效果是当一屏写满时,则清空从开头接着写,不是上移的滚屏,虽然OLED有滚屏命令,但是会带水平位移效果,并且只能提前写好数据,类似于广告牌循环播放的那种. 首先是为OLED屏划分区域. 我选择 ...

  3. C# 前台线程 后台线程区别

    前台线程 会随进程一起结束 不管是否完成,后台线程需要执行完毕,进程才能结束 例子: class Program { static void Main(string[] args) { Thread ...

  4. node 版本管理器 nvs

    node 总是在不断的升级,以前老项目在运行时可能会报错 我遇到了一个 PostCSS received undefined instead of CSS string 查了下可能是node-sass ...

  5. postgresql 学习链接

    1.菜鸟教程:https://www.runoob.com/postgresql/postgresql-operators.html 2.易百教程:https://www.yiibai.com/pos ...

  6. Pycharm报错:Error running ‘‘: Cannot run program “\python.exe“ (in directory ““)系统找不到指定文件夹?已解决!

    问题报错 报错原因:我修改的工程的名称/或者移动了工程位置,运行导致找不到之前的运行路径 解决办法1.在该项目文件夹下找到一个叫.idea的文件夹.(若没有,选择显示隐藏项目,可能被隐藏了)PyCha ...

  7. temp_laijx_2023

    ############################ [{\"itemKey\": \"jenkinsConfig\",\"itemValue\& ...

  8. npm vue-router安装报错

    因为2022年2月7日以后,vue-router的默认版本,为4版本,而且 vue-router4,只能在vue3中,只有vue-router3中,能用在vue 2中 如果把vue-router4强制 ...

  9. 其他计算机&网络&行业知识

    互联网数据中心(IDC)   VIDC(端口映射) CVM云服务器(Cloud Virtual Machine)  IDE 集成开发环境: 开发工具 QA:Quality Assurance,直译为质 ...

  10. JAVA学习笔记-10

    String类: 字符串是一个特殊的对象.字符串最大的特点:一旦被初始化就不可以被改变. String类适用于描述字符串事物.那么它就提供了多个方法对字符串进行操作. 常见的操作: 1.获取: int ...