vim代码粘贴缩进混乱的问题[Linux]】的更多相关文章

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp76   直接在vim插入模式下粘贴: 直接粘贴,剪贴板上的每个字符都相当于手动输入,再加上vim的自动缩进,所以缩进就会累积 如果vim还支持自动连续注释,如上图,每行代码都自动加上了注释 解决办法: 在粘贴前先设置进入粘贴插入模式,即不会自动缩进和连续注释 set paste 然后再进入插入模式粘贴,结果如图: 但是在粘贴插入模式下代码是不会自动按格式缩进的,需要使用…
Vim粘贴代码时缩进混乱 via 背景 在终端Vim中粘贴代码时,发现插入的代码会有多余的缩进,而且会逐行累加.原因是终端把粘贴的文本存入键盘缓存(Keyboard Buffer)中,Vim则把这些内容作为用户的键盘输入来处理.导致在遇到换行符的时候,如果Vim开启了自动缩进,就会默认的把上一行缩进插入到下一行的开头,最终使代码变乱. 解决 取消自动缩进 在命令模式下,使用":set nosmartindent"和":set noautoindent"取消自动缩进,…
vim编程时,经常需要对代码进行缩进处理,以增加程序的可读性和后期的代码维护. 可以采用多种方式达到缩进的目的: 1) 命令模式(command mode) 2) Visual模式(visual mode) 2) 输入模式(entry mode) 3) 末行模式(last-line mode) 4) 在/etc/vimrc有给予vim的环境配置, 一般地, 个性化的定制vim的功能,建议在~/.vimrc文件中进行配置(一般用户可自行创建该文件). 命令模式: >> 当前行增加一个单位缩进  …
Vim中复制粘贴缩进错乱问题的解决方案 当你把这段缩进优美的代码直接ctrl+c,ctrl+v到Vim的时候,就会出现如下恶心的情况 可以看到,这种直接粘贴的方式会导致代码丢失和缩进错乱等情况. 解决方案 vim进入paste模式,命令如下: :set paste 进入paste模式之后,再按i进入插入模式,进行复制.粘贴就很正常了. 命令模式下,输入 :set nopaste 解除paste模式. paste模式主要帮我们做了如下事情: textwidth设置为0 wrapmargin设置为0…
解决vi/vim中粘贴会在行首多很多缩进和空格的问题 secureCRT会将你原来的文本原封不动的按照字符串的样式发送给服务器.所以当你的服务器上的vim设置为autoindent的话,在i模式下,那么它会将secureCRT传输而来的这些字符串再进行一下缩进.若你拷贝的文本中已经有表示缩进的空格或者制表符的话,它们也会被当成字符串,而被缩进.解决办法:1. 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴)2. 拷贝完成之后,输入:set nopaste…
解决vi/vim中粘贴时行首出现很多缩进和空格的问题 http://www.jbxue.com/LINUXjishu/12232.html 由于在secureCRT中会将原来的文本原封不动的按照字符串的样式发送给服务器. 所以服务器上的vim设置为autoindent的话,在i模式下,那么它会将secureCRT传输而来的这些字符串再进行一下缩进. 若拷贝的文本中已有表示缩进的空格或者制表符的话,它们也会被当成字符串,而被缩进. 解决办法: 1,在拷贝前输入:set paste (这样的话,vi…
解决办法: 1. 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴)2. 拷贝完成之后,输入:set nopaste (关闭paste) 在 Vim 中粘贴文本时可能会遇到这样的问题,有时文本的缩进会发生变化,特别是在粘贴大量的文本时,这个问题会更加明显.把下面这段配置加入到配置文件 ~/.vimrc 中,这样 Vim 就会自动地阻止粘贴文本时的自动缩进. " for tmux to automatically set paste and nopaste…
前段配置VPS,无奈只能使用Vim编辑Python代码,比较头疼的没法设置自动缩进,所以搜索了相关的配置,特记录如下. 将以下的设置加入到~/etc/vim/.vimrc中: set sw=4 set ts=4 filetype indent on autocmd FileType python setlocal et sta sw=4 sts=4 前面两行将shiftwidth和tabstop都设为4.第三行开启自动的缩进检测.最后一行则根据Python语言的建议(将tab展成四个空格)进行了…
Vim作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情.每当学会了vim的一个新功能,就会很大地提高工作效率.有人使用vim几十年,还没有完全掌握vim的功能,这也说明了vim的强大.而这样何尝不是一件好事呢,只要有的学习,就有的提高. 最近使用Vim来写博客,发现在Vim中粘贴Python代码后,缩进就全乱了.仔细研究了以下,原来是自动缩进的缘故,于是做如下设置: :set noai nosi 取消了自动缩进和智能缩进,这样粘贴就不会错行了.但在有的vim中不行,还是排…
Vim作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情.每当学会了vim的一个新功能,就会很大地提高工作效率.有人使用vim几十年,还没有完全掌握vim的功能,这也说明了vim的强大.而这样何尝不是一件好事呢,只要有的学习,就有的提高. 最近使用Vim来写博客,发现在Vim中粘贴Python代码后,缩进就全乱了.仔细研究了以下,原来是自动缩进的缘故,于是做如下设置: :set noai nosi 取消了自动缩进和智能缩进,这样粘贴就不会错行了.但在有的vim中不行,还是排…
学习别人的帖子,把内容变成自己的就是成长,此处MARK下 Vim多行缩进技巧 1.按v进入visual状态,选择多行,用>或<缩进或缩出 2. 通常根据语言特征使用自动缩进排版:在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行.你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format.使用gg=G可对整篇代码进行排版. 3.gg   shift+G 首尾 4.全文字眼替换  %s/source/dist/…
Vim作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情.每当学会了vim的一个新功能,就会很大地提高工作效率.有人使用vim几十年,还没有完全掌握vim的功能,这也说明了vim的强大.而这样何尝不是一件好事呢,只要有的学习,就有的提高. 最近使用Vim来写博客,发现在Vim中粘贴Python代码后,缩进就全乱了.仔细研究了以下,原来是自动缩进的缘故,于是做如下设置: :set noai nosi 取消了自动缩进和智能缩进,这样粘贴就不会错行了.但在有的vim中不行,还是排…
title: vim代码格式化插件clang-format date: 2017-12-12 20:28:26 tags: vim categories: 开发工具 安装vim-clang-format插件 项目地址: vim-clang-format 如果用Vundle管理vim插件,直接在.vimrc中添加一行 Plugin 'vim-clang-format' 运行:PluginInstall就可以自动安装插件 "配置 let g:clang_format#auto_format_on_i…
http://cookoo.iteye.com/blog/32275 方法: 1. 按v进入visual状态,选择多行,用>或<缩进或缩出 2. 通常根据语言特征使用自动缩进排版:在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行.你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format.使用gg=G可对整篇代码进行排版. 按v进入visual状态,选择多行,用>或<缩进或缩出 通常根据语言特征…
转载自本人独立博客https://liushiming.cn/2020/01/18/copy-and-paste-in-vim/ 概述 复制粘贴是文本编辑最常用的功能,但是在vim中复制粘贴还是有点麻烦的,有一点学习成本.本文总结了使用vim复制粘贴的典型场景和使用方法,希望对读者有帮助. vim内部复制.粘贴.剪切 选择文本 v+光标移动 (按字符选择)高亮选中所要的文本,然后进行各种操作(比如,d表示删除). V (按行选择) v+选中的内容+c 更改选中的文字 复制:y(ank) y 用v…
VIM 代码折叠 VIM代码折叠方式可以用"foldmethod"选项来设置,如: set foldmethod=indent 有6种方式来折叠代码 1. manual //手工定义折叠 2. indent //用缩进表示折叠 3. expr //用表达式来定义折叠 4. syntax //用语法高亮来定义折叠 5. diff   //对没有更改的文本进行折叠 6. marker //用标志折叠 vim 配置文件分为全局配置文件和用户配置文件 1. 全局配置文件查找,在.vim 中输入…
原文地址:http://lsong17.spaces.live.com/blog/cns!556C21919D77FB59!603.entry 内容: 用vim这么久 了,始终也不知道怎么在vim中使用系统粘贴板,通常要在网上复制一段代码都是先gedit打开文件,中键粘贴后关闭,然后再用vim打开编辑,真的不 爽:上次论坛上有人问到了怎么在vim中使用系统粘贴板,印象里回复很多,有好几页的回复却没有解决问题,今天实在受不了了又在网上找办法,竟意外地找到 了,贴出来分享一下. 如果只是想使用系统粘…
用vim这么久 了,始终也不知道怎么在vim中使用系统粘贴板,通常要在网上复制一段代码都是先gedit打开文件,中键粘贴后关闭,然后再用vim打开编辑,真的不 爽:上次论坛上有人问到了怎么在vim中使用系统粘贴板,印象里回复很多,有好几页的回复却没有解决问题,今天实在受不了了又在网上找办法,竟意外地找到 了,贴出来分享一下. 如果只是想使用系统粘贴板的话直接在输入模式按Shift+Insert(粘贴)就可以了,下面讲一下vim的粘贴板的基础知识,有兴趣的可以看看,应该会有所收获的. vim帮助文…
前言:sublime是一款编程神器,轻巧又强大,适用于各种语言.这里介绍下如何快速缩进混乱代码,方便代码阅读. 原料:sublime text 3 1 混乱代码如下: 2  格式菜单选择: 英文: 菜单栏的“edit”-“line”-“reindent”选项. 中文:…
自己是2014年的时候,开始学习VIM编辑器.记得当时把整个VIM入门手册几乎通读了一边,为其强大的功能和便捷的操作所折服. 今天再次捣鼓了以下VIM,只因为用VIM编辑C++的代码时,类中的public/protected/private等关键字会自动缩进(这与通常C++的默认缩进风格并不一致). class Base { public: virtual void func() { cout << "func" << endl; } virtual void…
转自:https://zhuanlan.zhihu.com/p/28674639?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io 写代码怎能不会这些Linux命令? 王爵nice 3 天前 这篇文章翻译自http://www.thegeekstuff.com/2010/11/50-linux-commands/这些都是一些很常用的命令,这篇文章中每个命令都有一些简单的示例说明它的用法,对于想学习Unix/Linux的人…
Ubuntu18.04系统自带python3.6及python2.7,Pycharm是一款非常强大的IDE.目前Pycharm有两个版本:专业版和Community社区,区别是专业版是收费,而且功能更多.下面介绍一些在Ubuntu18.04下安装最新Pycharm及注册方法. PyCharm官网:https://www.jetbrains.com/pycharm/download/#section=linux 从官网上可以看到Pycharm支持Windows.Mac和Linux,安装方法有两种,…
在Linux系统中,vim是一款非常好用的文本编辑器,那么,如何在Linux下的vim编辑器设定Tab的缩进长度呢? Linux系统下,vim编辑器Tab键的默认长度为8个空格,在vim中可以通过修改用户的配置文件来进行设置,设置步骤如下. 1.创建.vimrc配置文件 用户可以通过下面的命令进行配置文件的创建 $ vim ~/.vimrc 2.修改配置文件 在新创建的.vimrc配置文件输入需要修改的配置,如下所示: 配置说明如下: set number:表示打开文件自动显示行号 set ta…
vim代码补全 现在的图形界面的IDE(Integrated Development Environment)一般具有语法高亮,语法检查,自动补全功能,大大提高了编程的效率. vim作为文本编辑器其强大的编辑能力很大部分来自于普通模式命令,用户使用这些命令可以快速的在文档中移动.定位.查找.替换删除.而不用使用鼠标去完成这些操作.vim另一个强大之处是支持各种插件安装,用户可以根据功能需求和习惯安装需要的插件.本文将介绍两个非常强大的开源vim插件使得vim具有IDE一样的功能,提高使用vim编…
Windows 10环境安装VIM代码补全插件YouCompleteMe 折腾一周也没搞定Windows下安装VIM代码补全插件YouCompleteMe,今天在家折腾一天总算搞定了.关键问题是在于Python环境:必须确保环境变量Path里只有一个python.exe. ycmd是client-server架构.ycmd本身是server,可以为多种客户端所用,如VIM/YouComplete,emacs/emacs-ycmd等.服务端有不同引擎,如clang补全c-familiy语言,其他引…
1. 选定文本块.使用v进入可视模式,移动光标键选定内容. 2.复制的命令是y,即yank(提起) ,常用的命令如下:     y      在使用v模式选定了某一块的时候,复制选定块到缓冲区用:     yy    复制整行(nyy或者yny ,复制n行,n为数字):     y^   复制当前到行头的内容:     y$    复制当前到行尾的内容:     yw   复制一个word (nyw或者ynw,复制n个word,n为数字):     yG    复制至档尾(nyG或者ynG,复制…
主要内容:使用“:set paste” 来实现vim 按照源文件格式复制 在vim 使用中偶尔要复制外部代码,常常出现不停缩进的问题: 怎么避免此种情况出现呢 可以在命令模式中使用“:set paste”  后重新插入就好 退出 粘贴模式 命令模式 输入 :set nopaste…
vim不支持直接从其他应用复制内容粘贴过来,而是模拟用户键盘输入来实现的,一般设置vim在换行时自动以上一行的的缩进为初始位置,这样就会导致复制过来的内容出现缩进错乱. set paste 解决粘贴乱序问题. 但是,如果我们不停的用"set paste" "set nopaste"来切换还是比较麻烦的. 其实paste有一个切换开关的选项,就是pastetoggle.通过它可以绑定快捷键来激活/取消 paste模式.比如: :set pastetoggle=<…
最近在远程终端使用vi发现从其他地方复制代码的后,粘贴到vi里面出现格式变乱的问题. 主要是因为终端通常无法区分输入是来自用户输入还是来自粘贴,所以终端也不能通知 vim 输入来自何处.在 vim 里执行: :set paste…
直接粘贴idea的代码会导致缩进错乱,建议先粘贴到记事本再粘贴到笔记!!! 1.先将属性私有化,再对外提供简单的接口可以访问内部.如set.get方法 2.set方法:修改年龄 public void setAge(int a){ //可编写业务逻辑进行控制,进行安全过滤 age=a; } 3.get方法:读取年龄 public int getAge(){ return age; } 注意 set与get不含有static关键字 封装例如 public class People {   priv…