找回密码
 立即注册
搜索
查看: 7840|回复: 98

[软件] 文本编辑器交流贴

[复制链接]
发表于 2010-6-30 15:49 | 显示全部楼层 |阅读模式
本帖最后由 eph 于 2010-6-30 17:02 编辑

一直用的 UE ,有点想换一个,今天折腾了下 Vim ,虽然很多亮点但也还是有些地方不满意。

个人对文本编辑器的要求是:
1、代码高亮(这个绝大部分都满足了,就是有些小众的语言可能还没有配置文件);
2、自定义快捷键调用命令行(这个好像 Vim 比较强大,不过我还不知道怎么实现 UE 那种同时输出到屏幕和新建文件的功能);
3、轻松处理 1G 以上的文件(这个 UE 比较强,Vim 可以通过插件实现);
4、Perl 兼容正则表达式( UE 这种原生支持的比较好);
5、64 位兼容(比如 UE 16 之前的版本就不能调用 64 位 Python );
6、兼容 SFTP ;
7、根据文件格式选择缩进方式,例如 Python 是四空格,而大部分文件是制表符(这个 UE 干不来);
8、文件比较功能;
9、列模式和十六进制模式;
10、支持多种换行符格式(我刚在 Win 7 下用 64 位 gVim ,set filetype=unix 怎么还是 \r\n ……);
11、兼容 Windows 7 的最近文件( Vim 好像不行?);
12、每次保存在特定目录下生成一个新的备份文件,最好文件名中包含当前时间;
13、可以在多窗口模式和标签页模式之间切换( Vim 好像不行?);
14、自定义脚本 / 批量处理功能;
15、快速启动(UE 太慢了……);
16、尽量少折腾。

另外 Vim 有些地方还真不方便,比如不能选择一块然后按 Tab 缩进,不能拖动选中区域到另一个地方之类……
回复

使用道具 举报

     
发表于 2010-6-30 15:53 | 显示全部楼层
NoteXPad,NotePad++
回复

使用道具 举报

头像被屏蔽
发表于 2010-6-30 15:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2010-6-30 15:58 | 显示全部楼层
Notepad++ 至少不支持 Perl 正则和 SFTP 吧?
回复

使用道具 举报

     
发表于 2010-6-30 16:04 | 显示全部楼层
楼主需要emacs,不过貌似第16条不满足
回复

使用道具 举报

     
发表于 2010-6-30 16:06 | 显示全部楼层
代码用 Sublime Text,日常编辑用 EmEditor。
Mac 下直接用 XCode
回复

使用道具 举报

发表于 2010-6-30 16:06 | 显示全部楼层
你就说vim使用交流好了
vi里缩进是按>
其它东西去找找插件吧,比如 http://www.vim.org/scripts/script.php?script_id=172
回复

使用道具 举报

发表于 2010-6-30 16:09 | 显示全部楼层
用winHex的表示看不懂楼主在说什么
回复

使用道具 举报

头像被屏蔽
     
发表于 2010-6-30 16:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2010-6-30 16:10 | 显示全部楼层
本帖最后由 eph 于 2010-6-30 16:15 编辑
你就说vim使用交流好了
vi里缩进是按>
其它东西去找找插件吧,比如 http://www.vim.org/scripts/script.php?script_id=172
ts1egats 发表于 2010-6-30 16:06


我想知道要缩进 N 行除了算减法之外还有没有别的方法

……啊明白了,原来插入模式和 visual 模式是不同的。

另外插件也不是万能的,比如两个 Perl 正则插件都不好用。
回复

使用道具 举报

发表于 2010-6-30 16:14 | 显示全部楼层
11# eph
ctrl+v竖选或拖选后再按>
回复

使用道具 举报

发表于 2010-6-30 16:15 | 显示全部楼层
翻VIM API吧
vim 有64bit 主要是自己编译
vim 少折腾是不可能的
回复

使用道具 举报

     
发表于 2010-6-30 16:17 | 显示全部楼层
我也一直用UE……
试试EmEditor去
回复

使用道具 举报

 楼主| 发表于 2010-6-30 16:23 | 显示全部楼层
翻VIM API吧
vim 有64bit 主要是自己编译
vim 少折腾是不可能的
ov_efly 发表于 2010-6-30 16:15


我现在用的就是 gVim x64 ,因为怕 32 位不能调用 64 位的程序,不过这样一来有些插件就很麻烦了……
学 Vim 的一部分原因是发现 Linux 命令行下好像还是这个比较靠谱……
回复

使用道具 举报

发表于 2010-6-30 16:26 | 显示全部楼层
为什么要用Perl的正则,原生的就很好用
各家正则实现不一样,但区别也不是很大,习惯就好
回复

使用道具 举报

 楼主| 发表于 2010-6-30 16:30 | 显示全部楼层
为什么要用Perl的正则,原生的就很好用
各家正则实现不一样,但区别也不是很大,习惯就好
ts1egats 发表于 2010-6-30 16:26


反斜杠看着头痛,转义字符完全不习惯……
回复

使用道具 举报

     
发表于 2010-6-30 16:38 | 显示全部楼层
这两个怎么能比较啊……分明就是一个win常用 另一个unix或者solaris环境下常用啊
就像在一边用tracert一边改用traceroute一样 自然而然的转换……
回复

使用道具 举报

 楼主| 发表于 2010-6-30 16:53 | 显示全部楼层
这两个怎么能比较啊……分明就是一个win常用 另一个unix或者solaris环境下常用啊
就像在一边用tracert一边改用traceroute一样 自然而然的转换……
殊绝 发表于 2010-6-30 16:38


……我只是罗列下自己的要求和对 UE 和 Vim 的不满罢了……
回复

使用道具 举报

     
发表于 2010-6-30 17:11 | 显示全部楼层
11# eph
ctrl+v竖选或拖选后再按>
ts1egats 发表于 2010-6-30 16:14


可以ctrl+v  ,shift+i 插入字符,然后按esc退出,随便移动一下可以看到效果
回复

使用道具 举报

头像被屏蔽
     
发表于 2010-6-30 17:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2010-6-30 17:14 | 显示全部楼层
习惯UE的界面了。 以前trados界面也很棒。
回复

使用道具 举报

 楼主| 发表于 2010-6-30 17:19 | 显示全部楼层
……Vim 打开多大的文件就要用多少内存么,有没有打开比内存更大的文件的方法,我试了 LargeFile 插件不行。
回复

使用道具 举报

     
发表于 2010-6-30 17:47 | 显示全部楼层
工作环境下原生vi
win下NotePad++
其实我用NotePad++只是用来改缩进的 - -
回复

使用道具 举报

     
发表于 2010-6-30 18:00 | 显示全部楼层
……Vim 打开多大的文件就要用多少内存么,有没有打开比内存更大的文件的方法,我试了 LargeFile 插件不行。
eph 发表于 2010-6-30 17:19


直接ctrl+c中断掉呢?
回复

使用道具 举报

发表于 2010-6-30 18:03 | 显示全部楼层
一直用UE

想起需要换另外的editor就头痛
回复

使用道具 举报

头像被屏蔽
发表于 2010-6-30 18:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2010-6-30 18:15 | 显示全部楼层
vim里块选择是大写的V,也就是shift + v

缩进一般是选中后按=,因为=是智能修正缩进,如果不只是缩进有问题,那么就要调indent了

换行符格式取决于fileformat变量,可以在vim中输入:set fileformat查看当前的值,需要时修改该变量即可

每次保存生成一个新的备份文件……这个比较恐怖,我想起以前用altium,动辄给我生成几个G的备份文件啊233.为什么不用版本控制工具呢,现在我就是用altium也是用它集成的版本控制工具的
回复

使用道具 举报

发表于 2010-6-30 18:18 | 显示全部楼层
10、支持多种换行符格式(我刚在 Win 7 下用 64 位 gVim ,set filetype=unix 怎么还是 \\r\\n ……);
eph 发表于 2010/6/30 15:49

……是set fileformat=unix……
楼主需要emacs,不过貌似第16条不满足
mustadio 发表于 2010/6/30 16:04

关于emacs的配置有个很搞笑的事情:一位多年的emacs用户在弄丢了自己的7000+行的配置文件后转投vim了
翻VIM API吧
vim 有64bit 主要是自己编译
vim 少折腾是不可能的
ov_efly 发表于 2010/6/30 16:15

x86_64的vim有编译好的
当然你自己编译也行,花不了一分钟
这两个怎么能比较啊……分明就是一个win常用 另一个unix或者solaris环境下常用啊
就像在一边用tracert一边改用traceroute一样 自然而然的转换……
殊绝 发表于 2010/6/30 16:38

为啥不能比
我现在写代码全是vim/gvim
回复

使用道具 举报

     
发表于 2010-6-30 18:26 | 显示全部楼层
我的vim配置文件我自己可以背出来,几分钟里就能在陌生的机子上建立vim环境,当然插件就没了,还有很多发行版默认的vim不是完整版,如果不能上网安装的话也就无能为力了

其实我觉得每个可能接触到文字操作的人都应该掌握至少一种文本编辑器的使用,这样就不至于出现批量修改、合并文本的时候无从下手的窘境,最常见的就是修改字幕文本了
回复

使用道具 举报

发表于 2010-6-30 18:37 | 显示全部楼层
vim的配置也不少,我有1200行。。
回复

使用道具 举报

 楼主| 发表于 2010-6-30 18:44 | 显示全部楼层
……是set fileformat=unix……
鸡蛋灌饼 发表于 2010-6-30 18:18




每次保存生成一个新的备份文件……这个比较恐怖,我想起以前用altium,动辄给我生成几个G的备份文件啊233.为什么不用版本控制工具呢,现在我就是用altium也是用它集成的版本控制工具的
henvelleng 发表于 2010-6-30 18:15


我是用:
set backup
set backupdir=D:\\\\Backup\\\\Vim
autocmd BufWritePre * let &backupext = strftime(\\".%y%m%d-%H%M%S\\")
这个纯粹是个人习惯吧,备份文件是以防万一弄错什么快速恢复而已,我的 UE 备份文件是半年一个 G ,压缩后也不算大吧。
回复

使用道具 举报

     
发表于 2010-6-30 18:46 | 显示全部楼层
我vimrc,200多行,其中很多还是键映射和插件支持,还不及我的zshrc,zshrc有300多行
回复

使用道具 举报

发表于 2010-6-30 19:03 | 显示全部楼层




我是用:
set backup
set backupdir=D:\\\\Backup\\\\Vim
autocmd BufWritePre * let &backupext = strftime(\".%y%m%d-%H%M%S\")
这个纯粹是个人习惯吧,备份文件是以防万一弄错什么快速恢复而已,我的 UE 备 ...
eph 发表于 2010/6/30 18:44

你不如把Vim的Redo/Undo开大
还需要啥的上个git/hg

我vimrc,200多行,其中很多还是键映射和插件支持,还不及我的zshrc,zshrc有300多行
henvelleng 发表于 2010/6/30 18:46

怎么这么多,我的100行不到,近一半还是gVim for Win自带的
set nocompatible
\\" Encoding config, noticing UTF-8 is the standard, utf-8 isn\'t
\\" set fencs=UTF-8,ucs-bom,shift-jis,big5,gb18030,gbk,gb2312,cp936
set fencs=ucs-bom,utf-8,GBK,big5,gb2312,cp936,gb18030
\\" set fenc=utf8-bom
\\"set fileformats=dos
\\" Indent options
set smartindent
set cinoptions :0
set cinoptions=b1
set cinoptions=g0
set ts=4
set sw=4
\\" Color Config
colo evening
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
\\" omni enable
set nocp
filetype plugin on
\\" Start maximize
au GUIEnter * simalt ~x
\\" No Toolbox
set guioptions-=T
\\" Consolas font
set guifont=Consolas
set guifontwide=NSimsun
behave mswin
\\" CPP Complete
let OmniCpp_MayCompleteScope = 1
\\" Show line number
set nu!
set clipboard+=unnamed
\\" auto build tags
map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
\\" Tags
set tags+=.\\tags
set tags+=D:/Qt/4.5.0/include/tags
set tags+=D:/Qt/4.5.0/src/tags
\\" Fold
set fdm=marker
\\"set cms=//%s
set noimc

\\" IMPORTANT: win32 users will need to have \'shellslash\' set so that latex
\\" can be called correctly.
set shellslash

\\" IMPORTANT: grep will sometimes skip displaying the file name if you
\\" search in a singe file. This will confuse Latex-Suite. Set your grep
\\" program to always generate a file-name.
set grepprg=grep\\ -nH\\ $*

\\" OPTIONAL: This enables automatic indentation as you type.
filetype indent on

\\" OPTIONAL: Starting with Vim 7, the filetype of empty .tex files defaults to
\\" \'plaintex\' instead of \'tex\', which results in vim-latex not being loaded.
\\" The following changes the default filetype back to \'tex\':
let g:tex_flavor=\'latex\'
回复

使用道具 举报

 楼主| 发表于 2010-6-30 19:07 | 显示全部楼层
你不如把Vim的Redo/Undo开大
还需要啥的上个git/hg
鸡蛋灌饼 发表于 2010-6-30 19:03


Redo/Undo 肯定不行,有时要比较一个多月之前的,有时也要检查“某个时间段改了什么设置”的作用。
git/hg 又太复杂了吧……
回复

使用道具 举报

发表于 2010-6-30 19:08 | 显示全部楼层
Redo/Undo 肯定不行,有时要比较一个多月之前的,有时也要检查“某个时间段改了什么设置”的作用。
git/hg 又太复杂了吧……
eph 发表于 2010/6/30 19:07

自己一个人的版本控制很好理解的
还不行就自己架subversion server自用,我手头一堆东西都在自己的subversion里,最近有点想转hg
回复

使用道具 举报

 楼主| 发表于 2010-6-30 19:13 | 显示全部楼层
自己一个人的版本控制很好理解的
还不行就自己架subversion server自用,我手头一堆东西都在自己的subversion里,最近有点想转hg
鸡蛋灌饼 发表于 2010-6-30 19:08


忙完这一阵折腾下试试吧……我要告诉你们我还有每五分钟截屏一次每年几个 G 的屏幕备份你们会怎么想 =___,=
回复

使用道具 举报

     
发表于 2010-6-30 19:28 | 显示全部楼层
git如果只是commit和checkout的话,很容易的,就是游戏里的save和load而已,涉及到branch的话稍微绕一点,因为合并branch时会连所有的commit一起合并,还要处理不同分支间存在的冲突。不过branch的强大是git众优势中很重要的一部分
回复

使用道具 举报

头像被屏蔽
发表于 2010-6-30 19:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2010-6-30 19:49 | 显示全部楼层
Vim帮助文件中有关于map的知识
smy20011 发表于 2010-6-30 19:37


编译运行我会弄,捕获输出应该也没问题,但是捕获的同时显示在屏幕上不知道怎么做,莫非要输出到一个文件然后一直读
回复

使用道具 举报

发表于 2010-6-30 19:52 | 显示全部楼层
vim 有shell script的
cmd.vim 这个国人写的
shell.vim
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-8-21 06:10 , Processed in 0.312169 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表