官术网_书友最值得收藏!

  • Mastering Vim
  • Ruslan Osipov
  • 453字
  • 2021-06-10 18:51:28

Moving windows

Windows can also be moved, swapped, and resized. Since there's no drag-and-drop functionality in Vim, there are some commands you will have to remember.

You don't have to remember all of these commands, as long as you know what window operations are supported. :help window-moving and :help window-resize will take you to the corresponding entries in the Vim manual when you inevitably forget the shortcuts.

As with the rest of the window commands, these are prefixed by Ctrl + w.

Ctrl + followed, by an uppercase movement key (H, J, K, or L) will move the current window to the corresponding position:

  • Ctrl + w, H moves the current window to the leftmost part of the screen
  • Ctrl + w, J moves the current window to the bottom of the screen
  • Ctrl + w, K moves the current window to the top of the screen
  • Ctrl + w, L moves the current window to the rightmost part of the screen

For example, let's start with the following window layout (which was achieved by opening animal_farm.py and running :sp animals/cat.py, followed by :vs farm.py):

Note the cursor position (in animals/cat.py). Here's what happens when we try to move the window containing the animals/cat.py buffer in each direction:

  • Ctrl + w, H migrates animals/cat.py all the way to the left:

  • Ctrl + w, J moves animals/cat.py to the bottom of the screen, turning a vertical split into a horizontal split:

  • Ctrl + w, K moves animals/cat.py to the top of the screen:

  • Ctrl + w, L moves animals/cat.py to the right of the screen:

You can change the contents of each window by simply navigating to it and selecting the desired buffer using the :b command. There are, however, options for swapping window contents:

  • Ctrl + w, r moves every window within the row or the column (whichever is available—rows are given preference over columns) to the right or downward. Ctrl + w, R performs the same operation in reverse.
  • Ctrl + w, x exchanges the contents of a window with the next one (or a previous one if it's considered a last window).
Internally, Vim refers to windows by number. However, unlike with buffers, the numbers change as your window layout adjusts, and there is no straightforward way to surface window numbers. Some window management commands take the window number as an argument, but this book will not be covering these. For reference, windows are numbered top to bottom, left to right.
主站蜘蛛池模板: 通道| 化隆| 安化县| 岳普湖县| 奇台县| 大埔县| 荥阳市| 常山县| 墨江| 华容县| 南皮县| 皮山县| 南丰县| 滦南县| 巴南区| 滦平县| 徐闻县| 新疆| 通海县| 五大连池市| 昭苏县| 福海县| 邯郸县| 乌兰浩特市| 雅安市| 鹰潭市| 怀集县| 肥城市| 信宜市| 洛阳市| 桐城市| 南康市| 汉沽区| 互助| 鲁甸县| 会同县| 阳新县| 万载县| 都安| 剑阁县| 永兴县|