首页 > 其他分享 >vim 一些插件的学习

vim 一些插件的学习

时间:2023-02-01 11:14:09浏览次数:50  
标签:字符 插件 tags vim 学习 let 对齐 com

1. neoformat

:Neoformat,输入命令之后按 空格+tab 键进行选择格式化的程序,

项目地址:https://github.com/sbdchd/neoformat

2. vim-multiple-cursors

选中任意文本后,使用 Ctrl+nCtrl+p 找到下一个匹配的字符

选中完成后,可以使用i,c等vim编辑操作进入insert模式,开始修改文本.

3. EasyAlign

格式:命令,范围 ,对齐方式,对齐符号

对齐命令 范围 对齐方式 可选要对齐的符号,前面可以加数字表示第几个
ga ip,2j <Enter><Enter> <Space>,=,/,:,#,&,
默认左对齐,1回车右,2回车居中 符号前可加数字,负数代表倒数第几个
  • 示例

    gaip<Space>              # 按第一个空格对齐,范围:光标所在段落
    
    ga2j<Space>              # 按第一个空格对齐,范围:光标下2行
    
    gaip=                    # 按第一个等号对齐
    
    gaip[*,2,-1]=            # 所有等号都对齐,第2个等号对齐 ,倒数第一个等号对齐           
    
    gaip/                    # 按/号对齐
    
    gaip<Enter><Enter>*|     # 按|居中对齐
    

  • vim 原生对齐方法

    ==        #排版当前行
    5==        #排版当前行下5行
    

  • 符号的说明
按键 使用场景说明
匹配空白符
= 包含等号的操作符(=, ==, !=, +=, …)
: 应用于 JSON 或 YAML 格式
. 应用于多行点语法调用
, 应用于多行参数列表
& 对 LaTeX table 进行格式化,匹配 & 和 \
# 应用于对 Ruby/Python 的注释的对齐
Markdown 表格

ease align 插件对齐方式的学习:https://www.mianshigee.com/tutorial/learn-vim/plugins-easyalign.md
[项目地址:https://github.com/junegunn/vim-easy-align](https://github.com/junegunn/vim-easy-align

4. tcomment_vim 用法

vim 中

    gcc
    gcap
    gc2j
    v...gc

5. surround & repeat

范围命令 描述
y s <motion> <desired> 选中的区域添加 desired 范围字符
d s <existing> 删除 范围字符
c s <existing> <desired> 把 existing 范围字符改成 desired 范围字符
S <desired> 在 Visual 模式下给选中区域添加范围字符

vim 中:

ysiw "   # 增加标签
or
S"

ds"      #删除
cs"'     #替换
cs"t     #替换复杂标签

6. easymotion

<leader><leader> s <char> 搜索字符
<leader><leader> f <char> 向后搜索字符
<leader><leader> F <char> 向前搜索字符
<leader><leader> t <char> 向后搜索字符,标记位是被搜索字符的前一个字符
<leader><leader> T <char> 向前搜索字符,标记位是被搜索字符的后一个字符

vim leader,号:

,,f
,,t
,,s

7. tagbar

.vimrc设置:

noremap <C-a> :TagbarToggle<CR>
let Tlist_Show_One_File = 1
let g:tagbar_autofocus = 1
let g:tagbar_sort = 0
let g:tagbar_show_linenumbers = -1
set tags=./.tags;,.tags   # 这个网上很多文章没写清楚,下面链接算是说明白了,感谢作者。
set autochdir

https://www.zhihu.com/question/35808196/answer/130915301

  set tags=./.tags;,.tags

在自己的项目文件夹下执行 ctags -R * or ctags -R .

常用的命令:

   1. $ ctags –R *       # 终端

   : 开头的命令为 vim命令行模式 
   3. :ts                # ts 助记字:tags list, 
   4. :tp                # tp 助记字:tags 前一个
   5. :tn                # tn 助记字:tags next
   6. Ctrl + ]           # 跳转到函数定义处,跳转相当于下面`6`入栈,才会有上面 `tags list`
   7. Ctrl + o           # 跳回源文件
   8.   ?                 # 查看窗口命令

8. vim-es6 Snippets list

Trigger Result
gfn function* name (arg)
=> (arg) => { ... },
class class name { constructor () { ...} }
forof for (let value of arr)
im import lib from 'Library'
ex→ export default foo

使用 tab 触发

标签:字符,插件,tags,vim,学习,let,对齐,com
From: https://www.cnblogs.com/cloudhan/p/17055267.html

相关文章

  • pluginManagement插件管理
    Maven中提供了dependencyManagement来解决继承的问题,同样也提供了解决插件继承问题的pluginManagement元素,在父pom中可以在这个元素中声明插件的配置信息,但是子pom.xml中不......
  • BrootStrap学习笔记
    BrootStrap学习笔记  col-xs/col-sm/col-md/col-lg/col-xl总结*表示当前div所占的列数(共12列);col-sm-3表示该div在小屏幕中占6列,.col-xs-*column-extrasmal......
  • @vue/cli 插件开发之自动根据目录列表生成别名配置
    1.相关文档@vue/cli官方文档@vue/cli@vue/cli插件开发指南@vue/cli2.插件命名规范为了让一个CLI插件在VueCLI项目中被正常使用,它必须遵循vue-cli-plugin-或......
  • Git初识之学习心得总结
    一、Git简介--1.Git是什么?1.是一个分布式版本控制系统2.以"行"为单位进行存储,可以监控每行的变化3.几乎所有的软件的代码管理现在都在使用git.--2.Git的作用:a、"......
  • PostgreSQL学习笔记-4.基础知识:触发器、索引
    PostgreSQL触发器是数据库的回调函数,它会在指定的数据库事件发生时自动执行/调用。下面是关于PostgreSQL触发器几个比较重要的点:PostgreSQL触发器可以在BEFORE、AFT......
  • shell vim xshell快捷键
    我们有时在Linux下输入命令时,难免有输错的时候,在有的终端上,输错后,用退格则出现乱码现像,可以用以下方法解决。CTRL+H#相当于按了一次退格键,一次删除一个字母CTRL+U#......
  • 学习方法:阅读学习法
    学习方法:阅读学习法    阅读学习法,也就是通过“阅读书籍”来获取知识。  “主题阅读”,以“主题”为主线,搜集材料并阅读、整理,达到多角度、多层次的......
  • 【Javaweb】jsp | 简单学习
    什么是jsp,它有什么用?jsp的全称是javaserverpages。Java的服务器界面。jsp的主要作用是代替Servlet程序回传html页面的数据因为Servlet程序回传html页面数据是一件非常......
  • Jmeter学习:利用JDBC采样器从数据库取业务数据,进行变量参数化,并用于后续的业务请求
    1.设计JDBC配置元件、JDBC采样器2.JDBC采样通常设置为单次执行3.配合ForEach循环,进行变量的循环提取(方法一)采用随机数进行随机提取,示例代码如下:(方法二)//......
  • c++学习1 基础关键词
    一"const"修饰变量只能被初始化和读取,不能被赋值更改,且必需初始化,不初始化的话会因为读取到随机数而报错。example:constintdate=100;cout<<"date="<<date;//结......