关于vim:oeasy教您玩转vim-28-水平移动

32次阅读

共计 1766 个字符,预计需要花费 5 分钟才能阅读完成。

程度挪动

回顾上节课内容🤔

  • 依据扩展名咱们能够设置某些特定类型文件的配置
  • 相干文件类型的设置放在相应的文件夹里
  • 文件类型缩进文件夹

    • /usr/share/vim/vim81/indent/
  • 文件类型语法高亮文件夹

    • /usr/share/vim/vim81/syntax/
  • 文件类型插件文件夹

    • 零碎通用文件夹

      • /usr/share/vim/vim81/ftplugin/java.vim
      • /usr/share/vim/vim81/ftplugin/java_xxx.vim
      • /usr/share/vim/vim81/ftplugin/java/xxx.vim
    • 用户专用插件文件夹

      • ~/.vim/ftplugin/java.vim
      • ~/.vim/ftplugin/java_def.vim
      • ~/.vim/ftplugin/java/header.vim
  • 在 文件夹 ~/.vim/ftplugin 中 的 html.vim 的设置

    • 只针对 html
    • 包含文件的缩进、配色、语法高亮、行号、状态栏等
  • :filetype indent on 文件类型缩进失效
  • :filetype syntax on 文件类型语法高亮失效
  • :filetype plugin on 文件类型插件失效

素材文件

  • 首先咱们关上一个绕口令

    • git clone http://github.com/overmind1980/vimtutorial.git
    • vi -u NONE raokouling.txt
    • 关上绕口令
    • 须要单行的长度超过 80 个字符
  • 设置不换行

    • :set nowrap
  • 设置状态条

    • :set statesline=%f-[%l,%c]
    • :set laststatus=2
  • 把模式设置为非兼容

    • :set nocompatible

横向滚动

  • 一路l 到屏幕的止境
  • 到 [1,80] 时候再按下 l
  • 整个屏幕产生横向滚动
  • 而后光标挪动到屏幕核心地位
  • 光标坐标显示为 [1,81]
  • 如果要回来的话也须要挪动到左边缘
  • 而后再按 h️
  • 整个屏幕滚动回来了

  • 重复横跳

横滚幅度

  • 横滚的幅度能够通过 sidescroll 来管制

    • 默认 0 是横向屏幕 80 字符的一半 40 字符
    • 如果我设置为 10 的话
    • 在最右边缘再向右的话,屏幕地位滚动 10 个字符
    • 从 [1,80] 到 [1,81] 的时候产生
  • :h sidescroll

  • 咱们如果把 sidescroll 变成 1,屏幕横滚就会很柔和🤪
  • 还是设置回 10 吧
  • 重复横跳

横滚留位

  • 每次咱们的横滚都是在屏幕边缘产生的
  • 是否达到边缘之前就能看见那边有什么?
  • :h sidescrolloff

    • 默认是 0,到边缘才滚动
    • 如果咱们设置为 20
    • 到 [1,60] 的时候, 间隔有边缘有 20
    • 这个时候 l️整个屏就会向右 滚动幅度
    • 也就是 sidescroll 所对应的 10

  • sidescrolloff 设置成 99,光标在横向总在核心地位🤪

横滚屏快键

  • 其实横向滚动咱们用的比拟少
  • 但在一屏中滚动比拟常见

屏内跳转

  • 能够参照全屏跳转
  • 后面加个 g

    • g0 就是跳到屏幕第一个字符
    • g^ 就是本屏幕内第一个非空字符
    • gm 跳到屏幕两头
    • gM 跳到整个文本两头
    • g$ 跳到屏幕开端

主动换行

  • 如果一行太长了咱们能够让他 :set wrap 主动换行
  • :h wrap 能够查看帮忙手册📕
  • :set nowrap 能够勾销主动换行

向上一行

  • 咱们个别用 jk 高低挪动
  • 然而如果主动换行之后,这高低就不只是一行了
  • 先把行号显示进去 :set nu
  • 咱们能够通过 g jg k 来主动换行的一行内高低挪动

换行字符

  • 我在行头句尾的时候
  • 如果我想按方向键 hl 换行

    • 后果是无效的
  • 如果我用 BackSpace

    • 后果是无效的
  • 然而有的机器上,却有效
  • 为什么呢?
  • 这是一个属性 option

    • whichwrap
  • 先看看这个货色当初的值

    • :set whichwrap?

  • 把他设置回默认的值

    • :set whichwrap&
    • & 示意设置为默认值
    • 而后再察看现状

  • b,s 是什么意思呢

选项细节

  • :h 'whichwrap'

  • 默认只有两个

    • b 是 <BackSpace> 退格
    • s 是 <Space> 空格
  • 实践上hl 不好使
  • vi oeasy.java

    • 从新用 vi 关上
    • hl 好使
    • 那他是在那里设置了 hl 呢?

查找本源

vim ~/.vimrc
  • /whichwrap

总结

  • 咱们这次理解了横向滚动的相干信息

    • 横滚幅度 – sidescroll
    • 横滚留位 – sidescrolloff
    • 主动换行 – wrap
  • g jg k 能够逐行高低挪动
  • 能够管制切换行的控制键 whichwrap
  • 这就是横向挪动的内容
  • 不过程序中个别一行不会超过 80 个字符
  • 纵向挪动更为广泛
  • 纵向挪动有什么好玩的吗?🤔
  • 下次再说 👋

正文完
 0