命令: :w !sudo tee % 此命令是把当前文件(即%)作为stdin传给sudo tee命令来执行.说起来挺绕口,其实就是:用sudo强制保存.   有时候在自己机器上折腾的时候需要更改一些系统的conf文件,编辑了半天结果发现vim不是以su打开的,无奈只能不保存退出,重新编辑.有这个命令之后能节省不少误操作带来的事件损耗.…
Vim中的基本操作 vim介绍.实验知识点.Vim中的六种基本模式 2.1 vim 6种模式介绍 从vi衍生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使用了与Vim截然不同的方式:命令目录(鼠标或者键盘驱动),组合键(通常通过control键(CTRL)和alt键(ALT)组成)或者鼠标输入.Vim和vi一样,仅仅通过键盘来在这些模式之中切换.这就使得Vim可以不用进行菜单或者鼠标操作,并且最小化组合键的操作.对…
shell和vim中乱码原因及消除办法 作者:Jack47 在Linux下开发,经常遇到乱码问题:shell或者vim中显示不了中文,或者能够显示,但不能输入中文.每次都是上网去搜,或者同事告诉我一些命令来解决的.一直没有理解为什么会出乱码,本文就是想认真分析乱码问题的原因并找到解决之道.希望本文能够解决像我这样的菜鸟在Linux下shell和vim中遇到的乱码问题.读者们如果读完这篇文章后还是一头雾水,也不要着急[文章角度不同,不同的人的理解程度也不同],可以多看看类似的文章[文末的参考资料]…
在Linux下开发,经常遇到乱码问题:shell或者vim中显示不了中文,或者能够显示,但不能输入中文.每次都是上网去搜,或者同事告诉我一些命令来解决的.一直没有理解为什么会出乱码,本文就是想认真分析乱码问题的原因并找到解决之道.希望本文能够解决像我这样的菜鸟在Linux下shell和vim中遇到的乱码问题.读者们如果读完这篇文章后还是一头雾水,也不要着急[文章角度不同,不同的人的理解程度也不同],可以多看看类似的文章[文末的参考资料],等多遇到几次编码的问题,回头再看看这些文章,基本就明白了.…
vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件,如果原文件名是data,那么swp文件名就是.data.swp.如果文件正常退出,则此文件自动删除.以下两种情况不会删除swp文件: Vim非正常退出,这种情况下,除非手动删除swp文件(也可以在vim提示时删除),否则它会一直存在. 多个程序同时编辑一个文件. 可以通过选项禁止产生swp文件 set noswapfile…
今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号.由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号.看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类的版本控制软件之后,由于之前版本的文件并不存在这个符号,所以开发成员在使用diff工具来查看改动的内…
解决vi/vim中粘贴时行首出现很多缩进和空格的问题 http://www.jbxue.com/LINUXjishu/12232.html 由于在secureCRT中会将原来的文本原封不动的按照字符串的样式发送给服务器. 所以服务器上的vim设置为autoindent的话,在i模式下,那么它会将secureCRT传输而来的这些字符串再进行一下缩进. 若拷贝的文本中已有表示缩进的空格或者制表符的话,它们也会被当成字符串,而被缩进. 解决办法: 1,在拷贝前输入:set paste (这样的话,vi…
最近在拿着Linux 鸟叔私房菜对着Linux 系统学习一下基本操作,虽然已经使用Linux系统已经好多年不过却一直没有系统的学习一下.在用vim 编辑一个文件的时候出现了一个很神奇的事情,明明该文件是root创建的,而普通用户是没有写权限的,而我无意中用普通用户写了以后竟然可以保存,虽然是强制保存但是毕竟是保存了,这并不符合权限的操作要我感到疑惑,为此在晚上搜索了好久也没有找到什么靠谱的解答,最后还是在私房菜这本书中找到了答案,那就是文件所在目录的权限是可以影响目录内的文件的. 用户对某文件目…
package com.looaderman.test; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Scanner; public class Test { /** * 将键盘录入的数据拷贝到当前项目下的text.txt文件中,键盘录入数据当遇到quit时就退出 * * 分析: * 1,创建键盘录入对象 *…
vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb << 返回vim使用进阶: 目录 本节所用命令的帮助入口: :help vimgdb 在UNIX系统最初设计时,有一个非常重要的思想:每个程序只实现单一的功能,通过管道等方式把多个程序连接起来,使之协同工作,以完成更强大的功能.程序只实现单一功能,一方面降低了程序的复杂性,另一方面,也让它专注于这一功能,把这个功能做到最好.就好像搭积木一样,每个积木只提供简单的功能,但不同的积木垒在一起,就能搭出大厦.汽车等等复杂的东西.…