Vim插件使用

Vim代码格式化工具

vim-autoformat

:::danger
GitHub: https://github.com/Chiel92/vim-autoformat
学习网站:
:::
vim-plug插件安装及使用 - Rabbit’s Blog
Vim代码格式化插件vim Autoformat
来自官方的说明
:::tips
按一个快捷键格式化代码(或保存时自动格式化)。
这个插件利用外部格式化程序来格式化代码。检查formatprogram 列表,查看默认支持哪些语言。大多数formatprograms都会遵循 Vim 设置,例如textwidth和shiftwidth()。您可以轻松自定义现有的formatprogram定义或添加自己的formatprogram。当某个文件类型不存在formatprogram(或者没有安装formatprogram)时,vim-autoformat默认会退化为缩进(使用 Vim 的自动缩进功能),retabbing 并删除尾随空格。
:::
这个插件利用外部格式化程序来格式化代码(虽然Vim自带的格式化功能gg=G已经很好用了,但是有时依然感觉不够强大)。
:::danger
这些外部格式化程序包括但不限于clang-formatautopep8sqlformat。其中,clang-format支持C/C++/Java/JavaScript/Objective-C/Protobuf语言(支持格式化范围),autopep8只支持Python语言(也支持格式化范围),sqlformat是sqlparse的一部分,只支持 SQL 语句。
:::

.vim下文件夹的认识

mkdir ~/.vim
cd ~/.vim
mkdir plugged plugin syntax colors doc autoload 

:::danger
**~/.vim/autoload/它是一个非常重要的目录,尽管听起来比实际复杂。简而言之,它里面放置的是当你真正需要的时候才被自动加载运行的文件,而不是在vim启动时就加载。
~/.vim/colors/是用来存放vim配色方案的。
~/.vim/plugin/存放的是每次启动vim都会被运行一次的插件,也就是说只要你想在vim启动时就运行的插件就放在这个目录下。我们可以放从vim-plug官方下载下来的插件.vim
~/.vim/syntax/语法描述脚本。我们放有关文本(比如c语言)语法相关的插件
~/.vim/doc/为插件放置文档的地方。例如:help的时候可以用到。
~/.vim/ftdetect/中的文件同样也会在vim启动时就运行。有些时候可能没有这个目录。ftdetect代表的是“filetype detection(文件类型检测)”。此目录中的文件应该用自动命令(autocommands)来检测和设置文件的类型,除此之外并无其他。也就是说,它们只该有一两行而已。
/.vim/ftplugin/此目录中的文件有些不同。当vim给缓冲区的filetype设置一个值时,vim将会在/.vim/ftplugin/ 目录下来查找和filetype相同名字的文件。例如你运行set filetype=derp这条命令后,vim将查找/.vim/ftplugin/derp.vim此文件,如果存在就运行它。不仅如此,它还会运行ftplugin下相同名字的子目录中的所有文件,如/.vim/ftplugin/derp/这个文件夹下的文件都会被运行。每次启用时,应该为不同的文件类型设置局部缓冲选项,如果设置为全局缓冲选项的话,将会覆盖所有打开的缓冲区。
~/.vim/indent/这里面的文件和ftplugin中的很像,它们也是根据它们的名字来加载的。它放置了相关文件类型的缩进。例如python应该怎么缩进,java应该怎么缩进等等。其实放在ftplugin中也可以,但单独列出来只是为了方便文件管理和理解。 ~/.vim/compiler/和indent很像,它放的是相应文件类型应该如何编译的选项。 /.vim/after/这里面的文件也会在vim每次启动的时候加载,不过是等待/.vim/plugin/加载完成之后才加载after里的内容,所以叫做after。
~/.vim/spell/**拼写检查脚本。
:::

Vim-plug安装

:::danger
学习网站:
:::
静能生慧
简介:一个简约的Vim插件管理器。
只有一个文件plug.vim(不过有 2500+ 行)

  1. 离线安装

下载 plug.vim 文件,根据操作系统不同,放置在以下~/.vim/autoload目录中:

mkdir -p  ~/.vim/autoload/
cp plug.vim  ~/.vim/autoload/plug.vim
  1. 在线安装

在 bash 中使用如下命令即可:
会自动在.vim下创建autoload的文件夹,并保存plug.vim

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

安装 vim-autoformat

使用 vim-plug安装,整个过程灰常简单:

  1. 先在~/.vimrc中的相应位置添加如下内容:
Plug 'Chiel92/vim-autoformat'
  1. 然后在Vim中输入以下命令即可安装:
:PlugInstall

image.png

使用 vim-autoformat

通用配置

编辑~/.vimrc如下(仅供参考):

let g:autoformat_verbosemode=1 "开启详细模式便于查错
autocmd BufWrite *.sql,*.c,*.py,*.java,*.js :Autoformat "设置发生保存事件时执行格式化

"let g:autoformat_autoindent = 0
"let g:autoformat_retab = 0
"let g:autoformat_remove_trailing_spaces = 0
"autocmd FileType vim,tex let b:autoformat_autoindent=0
"gg=G :retab :RemoveTrailingSpaces

:::danger
详情参见 Chiel92/vim-autoformat#how-to-use
:::

clang-format

:::danger
官网:http://clang.llvm.org/docs/ClangFormat.html
:::
因为clang-format是clang的一部分,所以直接安装clang是最简单的方法

ubuntu: sudo apt install clang

centos: yum install clang

在~/.vimrc中做如下配置即可:

let g:formatdef_clangformat_google = '"clang-format -style google -"' # 我比较喜欢 google 风格的代码
let g:formatters_c = ['clangformat_google']

此后使用 Vim 编辑 C 源文件时,使用:Autoformat即可格式化代码。
实例:

  1. 先自己写一个格式不规范的

image.png

  1. 在命令模式下,打入:Autoformat

image.png

  1. 看一下最后的效果,自动帮你修改好对齐

image.png
:::danger
关于clang-format的高级使用(如自定义风格等)可参考
:::
Clang-Format格式化选项介绍_clang format_NovenBae的博客-CSDN博客
:::danger
亦可参考官网教程:
:::
ClangFormat — Clang 18.0.0git documentation

autopep8

:::danger
GitHub 项目地址:https://github.com/hhatto/autopep8
:::
autopep8是使用 Python 语言写的,可以直接使用pip安装:

pip install autopep8

它似乎不需要配置,可能是因为vim-autoformat能自动识别Python语言的特点

sqlformat

:::danger
GitHub 项目地址:https://github.com/andialbrecht/sqlparse
:::
注意sqlformat是sqlparse的一部分

总的配置文件

"for vim-autoformat
"let g:autoformat_verbosemode=1
"autocmd BufWrite *.sql,*.c,*.py,*.java,*.js :Autoformat
noremap <F3> :Autoformat<CR>

"let g:autoformat_autoindent = 0
"let g:autoformat_retab = 0
"let g:autoformat_remove_trailing_spaces = 0
"autocmd FileType vim,tex let b:autoformat_autoindent=0
"gg=G :retab :RemoveTrailingSpaces

let g:formatdef_sqlformat = '"sqlformat --keywords upper -"'
let g:formatters_sql = ['sqlformat']
let g:formatdef_clangformat_google = '"clang-format -style google -"'
let g:formatters_c = ['clangformat_google']

Linux — ctags基本使用

:::danger
参考学习:https://blog.csdn.net/zangba9624/article/details/114889246
:::
:::info
Tag文件简介:
tags文件(标签文件)是由ctags程序产生的一个索引文件, ctags程序其是叫"Exuberant Ctags", 是Unix上面ctags程序的替代品, 并且比它功能强大, 是大多数Linux发行版上默认的ctags程序. 那么tags文件是做什么用的呢? 如果你在读程序时看了一个函数调用, 或者一个变量, 或者一个宏等等, 你想知道它们的定义在哪儿, 怎么办呢? 用grep? 那会搜出很多不相干的地方. 现在流行用是的"Ctrl+]“, 谁用谁知道呀, 当光标在某个函数或变量上时, 按下"Ctrl+]”, 光标会自动跳转到其定义处。
:::

  1. 安装ctags
sudo apt-get install ctags

检查版本

ctags --version
  1. 到源代码的最底层目录下,敲下
ctags -R

会自动在当前目录下,生成tags文件。文件中记录了函数的相关信息
image.png

  1. 实操一下

选中要查看的函数。然后按下**”ctrl+]“**
image.png
image.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Pycharm中使用Vim件,您可以按照以下步骤进行设置: 1. 打开Pycharm并点击菜单栏中的“File”。 2. 选择“Settings”选项,然后进入“Plugins”页面。 3. 在搜索栏中输入“vim”来找到对应的件。 4. 单击“Browse repositories”按钮,然后在列表中找到“ideavim件。 5. 单击件名称旁边的“Install”按钮来安装件。 6. 安装完成后,点击“OK”按钮关闭设置页面。 现在,您已经成功安装了Vim件。您可以使用以下方法来切换到Vim模式并使用Vim指令: 1. 在Pycharm的主工具栏中,单击“Tool”。 2. 选择“Vim”选项,然后切换到Vim模式。 3. 在Vim模式下,您可以使用常见的Vim操作来编辑代码,比如入模式和命令模式。 注意,Vim件的具体功能和快捷键可能会有所不同,请根据您的需要和个人偏好进行进一步的设置和配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [vim简单用法-配合pycharm](https://blog.csdn.net/weixin_44942303/article/details/120903048)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [最全Pycharm教程(6)——将Pycharm作为Vim编辑器使用](https://blog.csdn.net/u013088062/article/details/50148219)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值