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

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.
主站蜘蛛池模板: 华坪县| 克东县| 益阳市| 浮梁县| 龙南县| 吉安市| 柘城县| 赤壁市| 土默特左旗| 正镶白旗| 福海县| 贡嘎县| 屯昌县| 普陀区| 金塔县| 昌乐县| 东丰县| 察隅县| 永定县| 治多县| 六安市| 龙胜| 东源县| 津南区| 东平县| 灌阳县| 宜兰县| 宝坻区| 望都县| 奉新县| 卢氏县| 阳西县| 孝感市| 通山县| 宁明县| 汝城县| 济源市| 福泉市| 西安市| 城口县| 石林|