当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 请教一下,如何让VIM换行的时候自动加上行号
帖子发表于 : 2013-03-24 11:57 
头像

注册: 2010-12-20 14:01
帖子: 130
送出感谢: 10
接收感谢: 0 次
如图所示:

第一行换行接下一行时,没有加上行号,我希望像2、3行这样,一换行就默认为新的一行(加上行号),因为有时候一段东西太多的话都当成是一行中的内容,用行号来跳转的话有时候还要移动很多才能到达自己想要的位置(主要是我水平菜),如果每行都能是新的一行的话用行号来跳转就可以很方便地缩小范围,感觉效率会高点。所以特来请教各位大侠了 :em01


附件:
VIM换行.jpg
VIM换行.jpg [ 20.28 KiB | 被浏览 885 次 ]



_________________
本人linux菜鸟,请各位大虾原谅我的无知和愚蠢
页首
 用户资料  
 
2 楼 
 文章标题 : Re: 请教一下,如何让VIM换行的时候自动加上行号
帖子发表于 : 2013-03-24 12:31 
头像

注册: 2008-12-28 16:01
帖子: 728
送出感谢: 2
接收感谢: 15
那个不是真正的一行,是屏幕行,是因为一行太长,屏幕放不下了,折叠过来的。

要是有比较多的太行的行的话,我是用下面的代码切换长短行模式。
代码:
function MapFlow()
   noremap <buffer> j gj
   noremap <buffer> k gk
   noremap <buffer> 0 g0
   noremap <buffer> ^ g^
   noremap <buffer> $ g$
   let b:old_textwidth=&l:tw
   setl tw=0
endfunction

function UnMapFlow()
   unmap <buffer> <silent> j
   unmap <buffer> <silent> k
   unmap <buffer> <silent> 0
   unmap <buffer> <silent> ^
   unmap <buffer> <silent> $
   if exists('b:old_textwidth')
      exec 'setl tw=' . b:old_textwidth
   endif
endfunction

command MapFlow :call MapFlow()
command UnMapFlow :call UnMapFlow()
command MF :call MapFlow()
command UMF :call UnMapFlow()


vim 中不推荐使用太行的行,而是限定一个行宽,然后自动或手动折行。一般推荐行宽在 80 列以内。
代码:
set textwidth=78


_________________
爱因斯坦会弹钢琴
爱因斯坦会拉小提琴
爱因斯坦会骑自行车



_________________
评价: 3.7% xinu
 
页首
 用户资料  
 
3 楼 
 文章标题 : Re: 请教一下,如何让VIM换行的时候自动加上行号
帖子发表于 : 2013-03-24 12:54 
头像

注册: 2010-12-20 14:01
帖子: 130
送出感谢: 10
接收感谢: 0 次
Fermat618 写道:
那个不是真正的一行,是屏幕行,是因为一行太长,屏幕放不下了,折叠过来的。

要是有比较多的太行的行的话,我是用下面的代码切换长短行模式。
代码:
function MapFlow()
   noremap <buffer> j gj
   noremap <buffer> k gk
   noremap <buffer> 0 g0
   noremap <buffer> ^ g^
   noremap <buffer> $ g$
   let b:old_textwidth=&l:tw
   setl tw=0
endfunction

function UnMapFlow()
   unmap <buffer> <silent> j
   unmap <buffer> <silent> k
   unmap <buffer> <silent> 0
   unmap <buffer> <silent> ^
   unmap <buffer> <silent> $
   if exists('b:old_textwidth')
      exec 'setl tw=' . b:old_textwidth
   endif
endfunction

command MapFlow :call MapFlow()
command UnMapFlow :call UnMapFlow()
command MF :call MapFlow()
command UMF :call UnMapFlow()


vim 中不推荐使用太行的行,而是限定一个行宽,然后自动或手动折行。一般推荐行宽在 80 列以内。
代码:
set textwidth=78

太强大了,那个代码虽然看不太懂,但感觉学到不少东西了,非常感谢 :em11


_________________
本人linux菜鸟,请各位大虾原谅我的无知和愚蠢


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译