Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic translation of necessary documents #4234

Closed
wants to merge 17 commits into from

Conversation

DokyungHwang
Copy link

What this PR does / why we need it: There is no document written in Korean.
It is uncomfortable for Koreans to see.

Which issue(s) this PR fixes
Translation of LICENSE, STYLE, CONTRIBUTING and CODE_OF_CONDUCT into Korean

Special notes for your reviewer:

The Korean translation of essential files.
Translating Required Files in Korean
Translating Required Files in Korean
Translating Required Files in Korean
Translating required documents into Korean
Translating required documents into Korean
Translating required documents into Korean
CONTRIBUTING.md Show resolved Hide resolved
Translating required documents into Korean
Roadmap for Korean Developers Korean Translation
@TravisBuddy
Copy link

Travis tests have failed

Hey @DokyungHwang,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

Node.js: 8

View build log

if [[ $(git diff-index HEAD -- *.js *.ts *.md) ]]; then git diff; echo "Prettier Failed. Run `gulp forceprettier` and commit changes to resolve."; exit 1; fi
diff --git a/Korea/CODE_OF_CONDUCT.md b/Korea/CODE_OF_CONDUCT.md
index 81de4ec..de2aea7 100644
--- a/Korea/CODE_OF_CONDUCT.md
+++ b/Korea/CODE_OF_CONDUCT.md
@@ -7,7 +7,7 @@
 ## 우리의 책임
 
 프로젝트 매니저(Project Maintainer)는 다음과 같은 권리와 책임을 가지고 있습니다.
- 기여활동에 대해 삭제/편집 혹은 코멘트,커밋,코드작성,위키수정,이슈보고, 그리고 기타 규율을 지키지 않는 기여활동에 대해
+기여활동에 대해 삭제/편집 혹은 코멘트,커밋,코드작성,위키수정,이슈보고, 그리고 기타 규율을 지키지 않는 기여활동에 대해
 또한 임시/영구적으로 부적절한 행동을하고, 공격적으로 타인을 대하거나, 해로운 짓을 하는 사람을 추방(ban)할 수 있습니다.
 
 프로젝트 매니저는 다음 사항에 대한 수행 권리와 책임을 가지고 있습니다.
diff --git a/Korea/CONTRIBUTING.md b/Korea/CONTRIBUTING.md
index fa2fc59..f077ff9 100644
--- a/Korea/CONTRIBUTING.md
+++ b/Korea/CONTRIBUTING.md
@@ -6,7 +6,7 @@ VSCodeVim을 개선하는 데 도움을 주셔서 감사합니다! :clap:
 
 ## 이슈 제출
 
-[GitHub 이슈 트래커](https://github.com/VSCodeVim/Vim/issues)는 버그 및 개선 제안 추적에 선호되는 채널입니다. 
+[GitHub 이슈 트래커](https://github.com/VSCodeVim/Vim/issues)는 버그 및 개선 제안 추적에 선호되는 채널입니다.
 새로운 버그 리포트를 생성 할 때 :
 
 - 다른 사람이 이미 문제를보고했거나 아이디어를 요청했는지 확인하려면 기존 문제를 검색하십시오.
@@ -86,7 +86,7 @@ PR을 제출할 때 PR이 열릴 때 GitHub에서 제공하는 템플릿을 작
 
 #### vscode.window.onDidChangeTextEditorSelection
 
-이것은 클릭 이벤트 기반 API가없는 IDE에서 클릭 이벤트를 시뮬레이트하는 나의 핵입니다 (아직?). 방금 들어온 선택 항목을 확인하여 이전에 상태 시스템을 마지막으로 업데이트했을 때 선택 항목을 설정했다고 생각한 것과 같은지 확인합니다. 그렇지 않은 경우 사용자가 클릭했을 수 있습니다. (그러나 아마도 또한  탭을 완성 할 수도있었습니다!)
+이것은 클릭 이벤트 기반 API가없는 IDE에서 클릭 이벤트를 시뮬레이트하는 나의 핵입니다 (아직?). 방금 들어온 선택 항목을 확인하여 이전에 상태 시스템을 마지막으로 업데이트했을 때 선택 항목을 설정했다고 생각한 것과 같은지 확인합니다. 그렇지 않은 경우 사용자가 클릭했��� 수 있습니다. (그러나 아마도 또한 탭을 완성 할 수도있었습니다!)
 
 ## 배포
 
diff --git a/Korea/README.md b/Korea/README.md
index e233dea..c0e76ed 100644
--- a/Korea/README.md
+++ b/Korea/README.md
@@ -6,7 +6,7 @@
 [![https://travis-ci.org/VSCodeVim/Vim](https://travis-ci.org/VSCodeVim/Vim.svg?branch=master)](https://travis-ci.org/VSCodeVim/Vim)
 [![https://vscodevim.herokuapp.com/](https://img.shields.io/badge/vscodevim-slack-blue.svg?logo=slack)](https://vscodevim.herokuapp.com/)
 
-VSCodeVim은  [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim emulation입니다.
+VSCodeVim은 [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim emulation입니다.
 
 - 🚚 지원되는 Vim 기능의 전체 목록은 [로드맵]을 참조하십시오.(ROADMAP.md).
 - 📃 [변경된 로그](CHANGELOG.md)에는 릴리스 간 주요 / 주요 / 최소 업데이트가 요약되어 있습니다.
@@ -44,7 +44,7 @@ VSCodeVim은  [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim
 
 ## 💾 설치
 
-VSCodeVim은 VS Code를  [설치](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) 하고 다시로드 한 후에 자동으로 활성화됩니다.
+VSCodeVim은 VS Code를 [설치](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) 하고 다시로드 한 후에 자동으로 활성화됩니다.
 
 > :warning: Vimscript는 지원되지 않습니다. 따라서 `.vimrc`를로드하거나 `.vim` vim 플러그인을 사용할 수 없습니다. [설정](#settings)과 [Emulated plugins](#-emulated-plugins)을 사용하여 이것을 복제해야합니다.
 
@@ -108,7 +108,7 @@ $ defaults delete -g ApplePressAndHoldEnabled
 
 이 설정은 VSCodeVim에만 적용됩니다.
 
-| 셋팅                          | 설명                                                                                                                                                                                                                                                                                                                                                                                                                      | 타입    | 기본값                         |
+| 셋팅                             | 설명                                                                                                                                                                                                                                                                                                                                                                                                                             | 타입    | 기본값                                |
 | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------- |
 | vim.changeWordIncludesWhitespace | Include trailing whitespace when changing word. This configures the <kbd>cw</kbd> action to act consistently as its siblings (<kbd>yw</kbd> and <kbd>dw</kbd>) instead of acting as <kbd>ce</kbd>.                                                                                                                                                                                                                               | Boolean | false                                 |
 | vim.cursorStylePerMode._{Mode}_  | Configure a specific cursor style for _{Mode}_. Omitted modes will use [default cursor type](https://github.com/VSCodeVim/Vim/blob/4a6fde6dbd4d1fac1f204c0dc27c32883651ef1a/src/mode/mode.ts#L34) Supported cursors: line, block, underline, line-thin, block-outline, and underline-thin.                                                                                                                                       | String  | None                                  |
@@ -135,12 +135,12 @@ $ defaults delete -g ApplePressAndHoldEnabled
 Ex-command에 neovim을 활용하려면,
 
 1.  [neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim)을 설치하세요
-2. 다음 구성을 수정하세요:
+2.  다음 구성을 수정하세요:
 
-| 환경          | 설명                    | 타입    | 기본 값 |
-| ---------------- | ------------------------------ | ------- | ------------- |
-| vim.enableNeovim |  Neovim 활성화                  | Boolean | false         |
-| vim.neovimPath   | neovim 실행 파일의 전체 경로 | String  |               |
+| 환경             | 설명                         | 타입    | 기본 값 |
+| ---------------- | ---------------------------- | ------- | ------- |
+| vim.enableNeovim | Neovim 활성화                | Boolean | false   |
+| vim.neovimPath   | neovim 실행 파일의 전체 경로 | String  |         |
 
 neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 있습니다:
 
@@ -190,7 +190,7 @@ neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 
     ]

-- <leader>m 을 바인드하여 책갈피를 추가하고 <leader>b를 사용하여 모든 책갈피 목록을 여십시오 (북마크 확장자 사용):
+- <leader>m 을 바인드하여 책갈피를 추가하고 <leader>b를 사용하여 모든 책갈피 목록을 여십시오 (북마크 확장자 사용):

    "vim.normalModeKeyBindingsNonRecursive": [
@@ -303,7 +303,7 @@ neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 
#### `"vim.insertModeKeyBindingsNonRecursive"`/`"normalModeKeyBindingsNonRecursive"`/`"visualModeKeyBindingsNonRecursive"`

- 비 재귀 키 바인딩은 삽입, 일반 및 시각적 모드에 사용하도록 재정의합니다.
-- _예:_  `j` 를 `gj`에 바인드하십시오.이 바인딩을 정상적으로 시도하면 gj의 j는 계속해서 gj로 확장됩니다. insertModeKeyBindingsNonRecursive 및 / 또는 normalModeKeyBindingNonRecursive를 사용하여이 순환 확장을 중지하십시오.
+- _예:_ `j` 를 `gj`에 바인드하십시오.이 바인딩을 정상적으로 시도하면 gj의 j는 계속해서 gj로 확장됩니다. insertModeKeyBindingsNonRecursive 및 / 또는 normalModeKeyBindingNonRecursive를 사용하여이 순환 확장을 중지하십시오.

```json
    "vim.normalModeKeyBindingsNonRecursive": [
@@ -350,20 +350,20 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니
3.  VS Code 설정
4.  VSCodeVim 기본 값

-| 환경          | 설명                                                                                                                                                                                                                                                           | 타입    | 기본 값 |
-| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------- |
-| vim.autoindent   | 새 줄을 시작할 때 현재 줄에서 들여 쓰기                                                                                                                                                                                                               | Boolean | true          |
-| vim.hlsearch     | 현재 검색과 일치하는 모든 텍스트를 강조 표시합니다                                                                                                                                                                                                                          | Boolean | false         |
-| vim.ignorecase   | 검색 패턴에서 대소 문자 무시                                                                                                                                                                                                                          | Boolean | true          |
-| vim.incsearch    | 검색을 입력하는 동안 다음 매치 표시                                                                                                                                                                                                                           | Boolean | true          |
-| vim.leader       | 키 재 매핑에 사용될`<leader>`의 키를 정의합니다                                                                                                                                                                                                               | String  | `\`           |
-| vim.showcmd      | 상태 표시 줄에 (부분) 명령 표시                                                                                                                                                                                                                     | Boolean | true          |
-| vim.showmodename | 상태 표시 줄에 현재 모드 이름 표시                                                                                                                                                                                                                           | Boolean | true          |
-| vim.smartcase    | 검색 패턴에 대문자가 포함 된 경우 '무시'설정을 대체하십시오.                                                                                                                                                                                     | Boolean | true          |
-| vim.textwidth    | `gq`를 사용할 때 너비를 자동 줄 바꿈                                                                                                                                                                                                                                    | Number  | 80            |
-| vim.timeout      | 재 매핑 된 명령에 대한 시간 초과 (밀리 초)                                                                                                                                                                                                                      | Number  | 1000          |
-| vim.whichwrap    | 줄의 시작과 끝에서 줄 바꿈을 제어합니다. 다음 / 이전 행으로 줄 바꿈해야하는 쉼표로 구분 된 키 집합입니다. 화살표 키는 삽입 모드에서 `[`  및  `]` 로 표시되며 일반 및 시각적 모드에서는`<` 및  `>` 로 표시됩니다. "everything"을 감싸려면 이것을`h,l,<,>,[,]`로 설정하십시오. | String  | ``            |
-| vim.report       |라인 수 보고에 대한 임계 값이 변경되었습니다.                                                                                                                                                                                                                     | Number  | 2             |
+| 환경             | 설명                                                                                                                                                                                                                                                                      | 타입    | 기본 값 |
+| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------- |
+| vim.autoindent   | 새 줄을 시작할 때 현재 줄에서 들여 쓰기                                                                                                                                                                                                                                   | Boolean | true    |
+| vim.hlsearch     | 현재 검색과 일치하는 모든 텍스트를 강조 표시합니다                                                                                                                                                                                                                        | Boolean | false   |
+| vim.ignorecase   | 검색 패턴에서 대소 문자 무시                                                                                                                                                                                                                                              | Boolean | true    |
+| vim.incsearch    | 검색을 입력하는 동안 다음 매치 표시                                                                                                                                                                                                                                       | Boolean | true    |
+| vim.leader       | 키 재 매핑에 사용될`<leader>`의 키를 정의합니다                                                                                                                                                                                                                           | String  | `\`     |
+| vim.showcmd      | 상태 표시 줄에 (부분) 명령 표시                                                                                                                                                                                                                                           | Boolean | true    |
+| vim.showmodename | 상태 표시 줄에 현재 모드 이름 표시                                                                                                                                                                                                                                        | Boolean | true    |
+| vim.smartcase    | 검색 패턴에 대문자가 포함 된 경우 '무시'설정을 대체하십시오.                                                                                                                                                                                                              | Boolean | true    |
+| vim.textwidth    | `gq`를 사용할 때 너비를 자동 줄 바꿈                                                                                                                                                                                                                                      | Number  | 80      |
+| vim.timeout      | 재 매핑 된 명령에 대한 시간 초과 (밀리 초)                                                                                                                                                                                                                                | Number  | 1000    |
+| vim.whichwrap    | 줄의 시작과 끝에서 줄 바꿈을 제어합니다. 다음 / 이전 행으로 줄 바���해야하는 쉼표로 구분 된 키 집합입니다. 화살표 키는 삽입 모드에서 `[` 및 `]` 로 표시되며 일반 및 시각적 모드에서는`<` 및 `>` 로 표시됩니다. "everything"을 감싸려면 이것을`h,l,<,>,[,]`로 설정하십시오. | String  | ``      |
+| vim.report       | 라인 수 보고에 대한 임계 값이 변경되었습니다.                                                                                                                                                                                                                             | Number  | 2       |

## 🖱️ 멀티커서모드

@@ -372,7 +372,7 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니
다음으로 다중 커서 모드로 들어갑니다:

- On OSX, `cmd-d`. On Windows, `ctrl-d`.
-- `gb` `cmd-d` (OSX) 또는 `ctrl-d`  (Windows)에 해당하는 새로운 바로 가기가 추가되었습니다. 다음 단어에 커서가 현재있는 단어와 일치하는 다른 커서를 추가합니다.
+- `gb` `cmd-d` (OSX) 또는 `ctrl-d` (Windows)에 해당하는 새로운 바로 가기가 추가되었습니다. 다음 단어에 커서가 현재있는 단어와 일치하는 다른 커서를 추가합니다.
- "Add Cursor Above/Below"을 실행하거나 다른 플랫폼으로 빠르게 접근하기.

커서가 여러 개 있으면 Vim 명령을 사용할 수 있습니다. 대부분 작동해야합니다. 일부는 지원되지 않습니다(참조 [PR#587](https://github.com/VSCodeVim/Vim/pull/587)).
@@ -386,7 +386,7 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니

> :warning: 이 플러그인을 사용하면 성능에 영향을 미칩니다. 상태 표시 줄을 변경하기 위해 작업 공간 settings.json의 구성을 재정 의하여 작업 디렉토리의 대기 시간이 증가하고 diff가 지속적으로 변경됩니다(참조 [이슈#2124](https://github.com/VSCodeVim/Vim/issues/2124)).

-현재 모드에 따라 상태 표시 줄의 색상을 변경하십시오. 활성화되면`"vim.statusBarColors"`를 구성하십시오. 각 모드의 색상은 `string`  (배경 만) 또는 `string[]` (배경, 전경)로 정의 할 수 있습니다.
+현재 모드에 따라 상태 표시 줄의 색상을 변경하십시오. 활성화되면`"vim.statusBarColors"`를 구성하십시오. 각 모드의 색상은 `string` (배경 만) 또는 `string[]` (배경, 전경)로 정의 할 수 있습니다.

```json
    "vim.statusBarColorControl": true,
@@ -402,24 +402,24 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니

[vim-easymotion](https://github.com/easymotion/vim-easymotion)을 기반으로하며 다음 설정을 통해 구성됩니다:

-| 환경                                    | 설명                                                                                                                                                                                                                                                       | 타입           | 기본값  |
+| 환경                                       | 설명                                                                                                                                                                                                                                                              | 타입           | 기본값         |
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- |
-| vim.easymotion                             | easymotion 플러그인 활성화 / 비활성화                                                                                                                                                                                                                                  | Boolean        | false          |
-| vim.easymotionMarkerBackgroundColor        | 마커 상자의 배경색입니다.                                                                                                                                                                                                                          |
-| vim.easymotionMarkerForegroundColorOneChar | 한 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                                                        |
-| vim.easymotionMarkerForegroundColorTwoChar | 한 문자 마커와 구별하는 데 사용되는 두 문자 마커의 글꼴 색상입니다.                                                                                                                                                                       |
-| vim.easymotionMarkerWidthPerChar           | 각 문자에 할당 된 너비 (픽셀)입니다.                                                                                                                                                                                                                 |
-| vim.easymotionMarkerHeight                 |마커의 높이입니다.                                                                                                                                                                                                                                       |
-| vim.easymotionMarkerFontFamily             | 마커 텍스트에 사용 된 글꼴 모음입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerFontSize               | 마커 텍스트에 사용되는 글꼴 크기입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerFontWeight             | 마커 텍스트에 사용 된 글꼴 굵기입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerYOffset                | 마커 상단과 텍스트 사이의 거리 (일반적으로 높이 또는 글꼴 크기가 변경된 경우 약간의 조정이 필요함).                                                                                                                           |
-| vim.easymotionKeys                         | 점프 마커 이름에 사용되는 문자                                                                                                                                                                                                                          |
+| vim.easymotion                             | easymotion 플러그인 활성화 / 비활성화                                                                                                                                                                                                                             | Boolean        | false          |
+| vim.easymotionMarkerBackgroundColor        | 마커 상자의 배경색입니다.                                                                                                                                                                                                                                         |
+| vim.easymotionMarkerForegroundColorOneChar | 한 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                                                                   |
+| vim.easymotionMarkerForegroundColorTwoChar | 한 문자 마커와 구별하는 데 사용되는 두 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                               |
+| vim.easymotionMarkerWidthPerChar           | 각 문자에 할당 된 너비 (픽셀)입니다.                                                                                                                                                                                                                              |
+| vim.easymotionMarkerHeight                 | 마커의 높이입니다.                                                                                                                                                                                                                                                |
+| vim.easymotionMarkerFontFamily             | 마커 텍스트에 사용 된 글꼴 모음입니다.                                                                                                                                                                                                                            |
+| vim.easymotionMarkerFontSize               | 마커 텍스트에 사용되는 글꼴 크기입니다.                                                                                                                                                                                                                           |
+| vim.easymotionMarkerFontWeight             | 마커 텍스트에 사용 된 글꼴 굵기입니다.                                                                                                                                                                                                                            |
+| vim.easymotionMarkerYOffset                | 마커 상단과 텍스트 사이의 거리 (일반적으로 높이 또는 글꼴 크기가 변경된 경우 약간의 조정이 필요함).                                                                                                                                                               |
+| vim.easymotionKeys                         | 점프 마커 이름에 사용되는 문자                                                                                                                                                                                                                                    |
| vim.easymotionJumpToAnywhereRegex          | Custom regex to match for JumpToAnywhere motion (analogous to `Easymotion_re_anywhere`). Example setting (which also matches start & end of line, as well as Javascript comments in addition to the regular behavior (note the double escaping required): ^\\s\*. | \\b[A-Za-z0-9] | [A-Za-z0-9]\\b | \_. | \\#. | [a-z][a-z] | // | .\$" |

easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하십시오. 모션을 시작하면 텍스트 데코레이터 / 마커가 표시되며 표시된 키를 눌러 해당 위치로 이동할 수 있습니다. `leader`는 설정이 가능하며 기본적으로`\` 입니다.

-| Motion 명령어                      | 설명                                                                                                 |
+| Motion 명령어                       | 설명                                                                                                        |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `<leader><leader> s <char>`         | Search character                                                                                            |
| `<leader><leader> f <char>`         | Find character forwards                                                                                     |
@@ -450,23 +450,23 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

[surround.vim](https://github.com/tpope/vim-surround)을 기반으로 플러그인은 괄호, 괄호, 따옴표 및 XML 태그와 같은 주변 문자를 처리하는 데 ���용됩니다.

-| 설정      | 설명                 | 타입    | 기본값 |
-| ------------ | --------------------------- | ------- | ------------- |
-| vim.surround | Enable/disable vim-surround | Boolean | true          |
+| 설정         | 설명                        | 타입    | 기본값 |
+| ------------ | --------------------------- | ------- | ------ |
+| vim.surround | Enable/disable vim-surround | Boolean | true   |

`<desired char>`또는`<existing char>`로`t` 또는`<`는 태그를 수행하고 태그 입력 모드로 들어갑니다. `>`대신`<CR>`을 사용하여 태그 변경을 마치면 기존 속성이 유지됩니다.

-| Surround Command                     | 설명                                                           |
+| Surround Command                     | 설명                                                                  |
| ------------------------------------ | --------------------------------------------------------------------- |
-| `d s <existing char>`                | 기존 서라운드 삭제                                              |
+| `d s <existing char>`                | 기존 서라운드 삭제                                                    |
| `c s <existing char> <desired char>` | Change surround existing to desired                                   |
| `y s <motion> <desired char>`        | Surround something with something using motion (as in "you surround") |
| `S <desired char>`                   | Surround when in visual modes (surrounds full selection)              |

몇가지 예:

-- ` 'test'`로 끝나기 위해 인용 부호 안에 cs를 입력 한`'test'`
-- `test``로 끝나는 인용 부호 ds 안에 커서가있는 "test"`
+- `'test'`로 끝나기 위해 인용 부호 안에 cs를 입력 한`'test'`
+- ` test``로 끝나는 인용 부호 ds 안에 커서가있는 "test" `
- `"test"` with cursor inside quotes type cs"t and enter 123> to end up with `<123>test</123>`
- 단어 테스트 유형 ysaw에 커서가있는`test`는`(test)`로 끝납니다.

@@ -480,11 +480,12 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하
- `gC`-블록 주석 토글. 예를 들어`gCi)`는 괄호 안의 모든 것을 주석 처리합니다.

### vim-indent-object
+
[vim-indent-object](https://github.com/michaeljsmith/vim-indent-object)를 기반으로하여 현재 들여 쓰기 수준의 코드 블록을 텍스트 객체로 처리 할 수 있습니다. 문장 주위에 중괄호를 사용하지 않는 언어 (예 : Python)에서 유용합니다.

여는 중괄호 / 태그 사이에 새로운 줄이 있다면, 그것은 무시할 수있는`cib` /`ci {`/`ci [`/`cit`로 간주 될 수 있습니다.

-| 명령어        | 설명                                                                                          |
+| 명령어         | 설명                                                                                                 |
| -------------- | ---------------------------------------------------------------------------------------------------- |
| `<operator>ii` | This indentation level                                                                               |
| `<operator>ai` | This indentation level and the line above (think `if` statements in Python)                          |
@@ -494,14 +495,14 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

[vim-sneak](https://github.com/justinmk/vim-sneak)를 기반으로 두 문자로 지정된 위치로 이동할 수 있습니다.

-| 환경                            | 설명                                                 | 타입    | 기본 값 |
-| ---------------------------------- | ----------------------------------------------------------- | ------- | ------------- |
-| vim.sneak                          | Enable/disable vim-sneak                                    | Boolean | false         |
-| vim.sneakUseIgnorecaseAndSmartcase | Respect `vim.ignorecase` and `vim.smartcase` while sneaking | Boolean | false         |
+| 환경                               | 설명                                                        | 타입    | 기본 값 |
+| ---------------------------------- | ----------------------------------------------------------- | ------- | ------- |
+| vim.sneak                          | Enable/disable vim-sneak                                    | Boolean | false   |
+| vim.sneakUseIgnorecaseAndSmartcase | Respect `vim.ignorecase` and `vim.smartcase` while sneaking | Boolean | false   |

몰래 활성화되면 다음 명령을 사용하여 모션을 시작하십시오. 연산자 sneak은`s` 대신`z`를 사용합니다. `s`는 이미 서라운드 플러그인에 의해 사용되기 때문입니다.

-| Motion 명령            | 설명                                                             |
+| Motion 명령               | 설명                                                                    |
| ------------------------- | ----------------------------------------------------------------------- |
| `s<char><char>`           | Move forward to the first occurrence of `<char><char>`                  |
| `S<char><char>`           | Move backward to the first occurrence of `<char><char>`                 |
@@ -510,15 +511,15 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

### CamelCaseMotion

-정확한 에뮬레이션은 아니지만  [CamelCaseMotion](https://github.com/bkad/CamelCaseMotion)을 기반으로합니다. 이 플러그인은 camelCase 및 snake_case 단어를 쉽게 이동할 수있는 방법을 제공합니다.
+정확한 에뮬레이션은 아니지만 [CamelCaseMotion](https://github.com/bkad/CamelCaseMotion)을 기반으로합니다. 이 플러그인은 camelCase 및 snake_case 단어를 쉽게 이동할 수있는 방법을 제공합니다.

-| 환경                    | 설명                    | 타입    | 기본 값 |
-| -------------------------- | ------------------------------ | ------- | ------------- |
-| vim.camelCaseMotion.enable | Enable/disable CamelCaseMotion | Boolean | false         |
+| 환경                       | 설명                           | 타입    | 기본 값 |
+| -------------------------- | ------------------------------ | ------- | ------- |
+| vim.camelCaseMotion.enable | Enable/disable CamelCaseMotion | Boolean | false   |

CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.

-| Motion 명령어         | 설명                                                                |
+| Motion 명령어          | 설명                                                                       |
| ---------------------- | -------------------------------------------------------------------------- |
| `<leader>w`            | Move forward to the start of the next camelCase or snake_case word segment |
| `<leader>e`            | Move forward to the next end of a camelCase or snake_case word segment     |
@@ -531,7 +532,7 @@ CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.

삽입 모드를 종료 할 때 입력 방법을 비활성화하십시오.

-| 환경                                 | 설명                                                                                      |
+| 환경                                    | 설명                                                                                             |
| --------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `vim.autoSwitchInputMethod.enable`      | Boolean denoting whether autoSwitchInputMethod is on/off.                                        |
| `vim.autoSwitchInputMethod.defaultIM`   | Default input method.                                                                            |
@@ -541,68 +542,67 @@ CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.
모든 타사 프로그램을 사용하여 입력 방법을 전환 할 수 있습니다. 다음은 [im-select](https://github.com/daipeihust/im-select)를 사용하여 구성을 안내합니다..

1. im-select 설치하기 (참조 [installation guide](https://github.com/daipeihust/im-select#installation))
-1.  기본 입력 방법 키 찾기
+1. 기본 입력 방법 키 찾기

-    - Mac:
+   - Mac:

-      입력 방법을 영어로 전환하고 터미널에서 `/<path-to-im-select-installation>/im-select` 를 실행하여 기본 입력 방법을 출력하십시오. 아래 표에는 MacOS의 일반적인 영어 키 레이아웃이 나와 있습니다.
+     입력 방법을 영어로 전환하고 터미널에서 `/<path-to-im-select-installation>/im-select` 를 실행하여 기본 입력 방법을 출력하십시오. 아래 표에는 MacOS의 일반적인 영어 키 레이아웃이 나와 있습니다.

-      | Key                            | 설명 |
-      | ------------------------------ | ----------- |
-      | com.apple.keylayout.US         | U.S.        |
-      | com.apple.keylayout.ABC        | ABC         |
-      | com.apple.keylayout.British    | British     |
-      | com.apple.keylayout.Irish      | Irish       |
-      | com.apple.keylayout.Australian | Australian  |
-      | com.apple.keylayout.Dvorak     | Dvorak      |
-      | com.apple.keylayout.Colemak    | Colemak     |
+     | Key                            | 설명       |
+     | ------------------------------ | ---------- |
+     | com.apple.keylayout.US         | U.S.       |
+     | com.apple.keylayout.ABC        | ABC        |
+     | com.apple.keylayout.British    | British    |
+     | com.apple.keylayout.Irish      | Irish      |
+     | com.apple.keylayout.Australian | Australian |
+     | com.apple.keylayout.Dvorak     | Dvorak     |
+     | com.apple.keylayout.Colemak    | Colemak    |

-    - Windows:
+   - Windows:

-      입력 방법 키를 검색하는 방법은[im-select guide](https://github.com/daipeihust/im-select#to-get-current-keyboard-locale) 안내서를 참조하십시오.  일반적으로 키보드 레이아웃이 en_US 인 경우 입력 방법 키는 1033 (en_US의 로캘 ID)입니다. `LCID Decimal`열이 로컬 ID인 [이 페이지](https://www.science.co.il/language/Locale-codes.php)에서 로컬 ID를 찾을 수도 있습니다.
+     입력 방법 키를 검색하는 방법은[im-select guide](https://github.com/daipeihust/im-select#to-get-current-keyboard-locale) 안내서를 참조하십시오. 일반적으로 키보드 레이아웃이 en_US 인 경우 입력 방법 키는 1033 (en_US의 로캘 ID)입니다. `LCID Decimal`열이 로컬 ID인 [이 페이지](https://www.science.co.il/language/Locale-codes.php)에서 로컬 ID를 찾을 수도 있습니다.

-1.  Configure `vim.autoSwitchInputMethod`.
+1. Configure `vim.autoSwitchInputMethod`.

-    - MacOS:
+   - MacOS:

-       `com.apple.keylayout.US` 과 `im-select` 은  `/usr/local/bin`에 있다. 구성은 다음과 같다.:
+     `com.apple.keylayout.US` 과 `im-select` 은 `/usr/local/bin`에 있다. 구성은 다음과 같다.:

-      ```json
-      "vim.autoSwitchInputMethod.enable": true,
-      "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US",
-      "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
-      "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
-      ```
+     ```json
+     "vim.autoSwitchInputMethod.enable": true,
+     "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US",
+     "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
+     "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
+     ```

-    - Windows:
+   - Windows:

-       `1033`  (en_US)과 `im-select.exe` 의 입력 방법 키는`D:/bin`에 있습니다. 구성은 다음과 같습니다:
+     `1033` (en_US)과 `im-select.exe` 의 입력 방법 키는`D:/bin`에 있습니다. 구성은 다음과 같습니다:

-      ```json
-      "vim.autoSwitchInputMethod.enable": true,
-      "vim.autoSwitchInputMethod.defaultIM": "1033",
-      "vim.autoSwitchInputMethod.obtainIMCmd": "D:\\bin\\im-select.exe",
-      "vim.autoSwitchInputMethod.switchIMCmd": "D:\\bin\\im-select.exe {im}"
-      ```
+     ```json
+     "vim.autoSwitchInputMethod.enable": true,
+     "vim.autoSwitchInputMethod.defaultIM": "1033",
+     "vim.autoSwitchInputMethod.obtainIMCmd": "D:\\bin\\im-select.exe",
+     "vim.autoSwitchInputMethod.switchIMCmd": "D:\\bin\\im-select.exe {im}"
+     ```

위의`{im}`인수는 입력 방법을 나타내는 `im-select` 에 전달되는 명령 행 옵션입니다. 대체 프로그램을 사용하여 입력 방법을 전환하는 경우 유사한 옵션을 구성에 추가해야합니다. 예를 들어, 입력 방법을 전환하기 위해 프로그램의 사용법이`my-program -s imKey` 인 경우,`vim.autoSwitchInputMethod.switchIMCmd` 는 `/path/to/my-program -s {im}`이어야합니다.

-
### ReplaceWithRegister

- [ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister)를 기반으로 기존 텍스트를 레지스터의 내용으로 쉽게 바꿀 수 있습니다.
+[ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister)를 기반으로 기존 텍스트를 레지스터의 내용으로 쉽게 바꿀 수 있습니다.

-| 환경                 | 설명                        | 타입    | 기본 값 |
-| ----------------------- | ---------------------------------- | ------- | ------------- |
-| vim.replaceWithRegister | Enable/disable ReplaceWithRegister | Boolean | false         |
+| 환경                    | 설명                               | 타입    | 기본 값 |
+| ----------------------- | ---------------------------------- | ------- | ------- |
+| vim.replaceWithRegister | Enable/disable ReplaceWithRegister | Boolean | false   |

-활성화되면`gr`  (예 : "go replace")을 입력 한 다음 레지스터 내용으로 대체하려는 텍스트를 설명하는 동작을 입력하십시오.
+활성화되면`gr` (예 : "go replace")을 입력 한 다음 레지스터 내용으로 대체하려는 텍스트를 설명하는 동작을 입력하십시오.

-| Motion 명령어          | 설명                                                                             |
-| ----------------------- | --------------------------------------------------------------------------------------- |
-| `[count]["a]gr<motion>` |모션에 설명 된 텍스트를 지정된 레지스터의 내용으로 바꿉니다.   |
-| `[count]["a]grr`        |  \[count\] 줄 또는 현재 줄을 지정된 레지스터의 내용으로 바꿉니다.|
-| `{Visual}["a]gr`        | 선택한 레지스터를 지정된 레지스터의 내용으로 바꿉니다.       |
+| Motion 명령어           | 설명                                                             |
+| ----------------------- | ---------------------------------------------------------------- |
+| `[count]["a]gr<motion>` | 모션에 설명 된 텍스트를 지정된 레지스터의 내용으로 바꿉니다.     |
+| `[count]["a]grr`        | \[count\] 줄 또는 현재 줄을 지정된 레지스터의 내용으로 바꿉니다. |
+| `{Visual}["a]gr`        | 선택한 레지스터를 지정된 레지스터의 내용으로 바꿉니다.           |

## 🎩 VSCodeVim 트릭!

@@ -628,35 +628,35 @@ VSCode에는 멋진 트릭이 많이 있으며 그 중 일부를 보존하려고

  당신은 Mac유저 입니까? [mac-setup](#mac) 지침을 살펴 보셨습니까?

--  `<esc>`로 닫을 수없는 성가신 정보 / 알림 / 팝업이 있습니다! ! 그리고 나는 단편적인 지식 밖에 없어 좀 더 알고 싶습니다.
+- `<esc>`로 닫을 수없는 성가신 정보 / 알림 / 팝업이 있습니다! ! 그리고 나는 단편적인 지식 밖에 없어 좀 더 알고 싶습니다.

-  `shift+<esc>` 를 눌러 모든 상자를 닫으십���오.
+`shift+<esc>` 를 눌러 모든 상자를 닫으십시오.

- Zen 모드 또는 상태 표시 줄이 비활성화 된 경우 명령 줄을 사용하려면 어떻게해야합니까?

-   이 확장 기능은 재 맵핑 가능한 명령을 표시하여 vscode 스타일의 빠른 선택, 제한된 기능 버전의 명령 줄을 보여줍니다. VS 코드의 keybindings.json 설정 파일에서 다음과 같이 다시 매핑 할 수 있습니다.
+이 확장 기능은 재 맵핑 가능한 명령을 표시하여 vscode 스타일의 빠른 선택, 제한된 기능 버전의 명령 줄을 보여줍니다. VS 코드의 keybindings.json 설정 파일에서 다음과 같이 다시 매핑 할 수 있습니다.

-  ```json
-  {
-    "key": "shift+;",
-    "command": "vim.showQuickpickCmdLine",
-    "when": "editorTextFocus && vim.mode != 'Insert'"
-  }
-  ```
+```json
+{
+  "key": "shift+;",
+  "command": "vim.showQuickpickCmdLine",
+  "when": "editorTextFocus && vim.mode != 'Insert'"
+}
+```

-  Or for Zen mode only:
+Or for Zen mode only:

-  ```json
-  {
-    "key": "shift+;",
-    "command": "vim.showQuickpickCmdLine",
-    "when": "inZenMode && vim.mode != 'Insert'"
-  }
-  ```
+```json
+{
+  "key": "shift+;",
+  "command": "vim.showQuickpickCmdLine",
+  "when": "inZenMode && vim.mode != 'Insert'"
+}
+```

- 단어 줄 바꿈을 사용하여 각 표시 줄에서 커서를 어떻게 이동합니까?

-  단어 줄 바꿈이 있고<kbd>j</kbd>, <kbd>k</kbd>, <kbd>↓</kbd> 또는 <kbd>↑</kbd>를 사용할 때 커서가 줄 바꿈 된 각 줄에 들어가도록하려면  keybindings.json 설정 파일에서 다음을 설정하십시오.
+  단어 줄 바꿈이 있고<kbd>j</kbd>, <kbd>k</kbd>, <kbd>↓</kbd> 또는 <kbd>↑</kbd>를 사용할 때 커서가 줄 바꿈 된 각 줄에 들어가도록하려면 keybindings.json 설정 파일에서 다음을 설정하십시오.

  <!-- prettier-ignore -->
  ```json
diff --git a/Korea/STYLE.md b/Korea/STYLE.md
index 8e359a6..8ff950d 100644
--- a/Korea/STYLE.md
+++ b/Korea/STYLE.md
@@ -17,7 +17,7 @@
- `const`를 사용할 수 없다면, `let`을 사용하십시오; 절대 `var`은 안됩니다.

  **이론적 근거:** `var`은 많은 경우 프로그래머를 trips합니다 - hoisting and closure capture는 두 가지 큰 요소입니다.
-차이점을 고려하십시오.
+  차이점을 고려하십시오.

for (var j = 0; j < 5; j++) { setTimeout(() => console.log(j), 5) }
diff --git a/ROADMAP.md b/ROADMAP.md
index a7bb6ea..aaec352 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -18,24 +18,24 @@

이들은 Vim의 큰 기능으로, 일반적���로 구현할 순서대로되어 있습니다.

- Status Command
- 일반 모드
- 삽입 모드
- 비주얼 모드
- 비주얼 라인 모드
- 숫자 접두사
- . 연산자
- / 과 ? 로 검색
- 실행 취소 / 재실행
- ⚠️ 명령 재 매핑
- ⚠️ 마크
- 텍스트 객체
- 비주얼 블록 모드
- 교체 모드
- 다중 선택 모드
- ⚠️ 매크로
- ⚠️ Buffer/Window/Tab
+ Status Command
+ ------------------ ------------------
+ 일반 모드
+ 삽입 모드
+ 비주얼 모드
+ 비주얼 라인 모드
+ 숫자 접두사
+ . 연산자
+ / 과 ? 로 검색
+ 실행 취소 / 재실행
+ ⚠️ 명령 재 매핑
+ ⚠️ 마크
+ 텍스트 객체
+ 비주얼 블록 모드
+ 교체 모드
+ 다중 선택 모드
+ ⚠️ 매크로
+ ⚠️ Buffer/Window/Tab

이제 우리가 찾을 수있는 모든 알려진 Vim 명령의 전체 목록을 따릅니다.

@@ -46,193 +46,193 @@

좌우 동작

- Status Command Description
- 🔢 h 왼쪽 (또한 CTRL-H, BS 또는 왼쪽 키)
- 🔢 l 오른쪽 (또한 스페이스 또는 오른쪽 키)
- 0 줄의 첫 번째 문자 (또한 Home 키)
- ^ 행의 첫 번��� 공백이 아닌 문자
- 🔢 $ 줄의 마지막 문자 (N-1 줄 아래) (또한 End 키)
- g0 화면 줄의 첫 문자 (줄 바꿈시 "0"과 다름)
- g^ 화면 줄에서 공백이 아닌 첫 문자로 줄 바꾸기 (줄 바꿈시 "^"와 다름)
- 🔢 g$ 화면 줄의 마지막 문자 (줄 바꿈시 "\ $"와 다름)
- gm 화면 라인의 중간
- 🔢 | N 열까지 (기본값 : 1)
- 🔢 f{char} 오른쪽으로 {char}의 N 번째 발생
- 🔢 F{char} 왼쪽으로 {char}의 N 번째 발생
- 🔢 t{char} 오른쪽으로 {char}의 N 번째 발생 전까지
- 🔢 T{char} 왼쪽으로 {char}의 N 번째 발생 전까지
- 🔢 ; 마지막 "f", "F", "t"또는 "T"N 번 반복
- 🔢 , 반대 방향으로 마지막 "f", "F", "t"또는 "T"N 번 반복
+ Status Command Description
+ ------------------ -------------- ------------------------------------------------------------------
+ 🔢 h 왼쪽 (또한 CTRL-H, BS 또는 왼쪽 키)
+ 🔢 l 오른쪽 (또한 스페이스 또는 오른쪽 키)
+ 0 줄의 첫 번째 문자 (또한 Home 키)
+ ^ 행의 첫 번째 공백이 아닌 문자
+ 🔢 $ 줄의 마지막 문자 (N-1 줄 아래) (또한 End 키)
+ g0 화면 줄의 첫 문자 (줄 바꿈시 "0"과 다름)
+ g^ 화면 줄에서 공백이 아닌 첫 문자로 줄 바꾸기 (줄 바꿈시 "^"와 다름)
+ 🔢 g$ 화면 줄의 마지막 문자 (줄 바꿈시 "\ $"와 다름)
+ gm 화면 라인의 중간
+ 🔢 | N 열까지 (기본값 : 1)
+ 🔢 f{char} 오른쪽으로 {char}의 N 번째 발생
+ 🔢 F{char} 왼쪽으로 {char}의 N 번째 발생
+ 🔢 t{char} 오른쪽으로 {char}의 N 번째 발생 전까지
+ 🔢 T{char} 왼쪽으로 {char}의 N 번째 발생 전까지
+ 🔢 ; 마지막 "f", "F", "t"또는 "T"N 번 반복
+ 🔢 , 반대 방향으로 마지막 "f", "F", "t"또는 "T"N 번 반복

상하 동작

- Status Command Description
- 🔢 k N 줄 위로 (CTRL-P 및 Up)
- 🔢 j N 줄 아래로 (또한 CTRL-J, CTRL-N, NL 및 Down)
- 🔢 - 공백이 아닌 첫 번째 문자에서 N 줄 위로
- 🔢 + 공백이 아닌 첫 번째 문자에서 N 줄 아래로 (CTRL-M 및 CR)
- 🔢 _ 공백이 아닌 첫 번째 문자에서 N-1 줄 아래로
- 🔢 G 공백이 아닌 첫 번째 문자에서 goto 행 N (기본값 : 마지막 행)
- 🔢 gg 공백이 아닌 첫 번째 문자의 goto 행 N (기본값 : 첫 번째 행)
- 🔢 % 파일에서 N 줄 아래로 이동; N을 지정해야합니다. 그렇지 않으면 % 명령입니다.
- 🔢 gk N 화면 줄 위로 (줄 바꿈시 "k"와 다름)
- 🔢 gj N 화면 줄 아래로 (줄 바꿈시 "j"와 다름)
+ Status Command Description
+ ------------------ --------- --------------------------------------------------------------------------
+ 🔢 k N 줄 위로 (CTRL-P 및 Up)
+ 🔢 j N 줄 아래로 (또한 CTRL-J, CTRL-N, NL 및 Down)
+ 🔢 - 공백이 아닌 첫 번째 문자에서 N 줄 위로
+ 🔢 + 공백이 아닌 첫 번째 문자에서 N 줄 아래로 (CTRL-M 및 CR)
+ 🔢 _ 공백이 아닌 첫 번째 문자에서 N-1 줄 아래로
+ 🔢 G 공백이 아닌 첫 번째 문자에서 goto 행 N (기본값 : 마지막 행)
+ 🔢 gg 공백이 아닌 첫 번째 문자의 goto 행 N (기본값 : 첫 번째 행)
+ 🔢 % 파일에서 N 줄 아래로 이동; N을 지정해야합니다. 그렇지 않으면 % 명령입니다.
+ 🔢 gk N 화면 줄 위로 (줄 바꿈시 "k"와 다름)
+ 🔢 gj N 화면 줄 아래로 (줄 바꿈시 "j"와 다름)

텍스트 객체 동작

- Status Command Description
- 🔢 w 앞으로 N 단어
- 🔢 W 공백으로 분리 된 N 개의 단어 앞으로
- 🔢 e N 번째 단어의 끝까지 N 단어
- 🔢 E 공백으로 분리 된 N 번째 단어의 끝으로 N 단어 앞으로
- 🔢 b 뒤로 N 단어
- 🔢 B 공백으로 분리 된 N개의 단어 뒤로
- 🔢 ge N번째 단어의 끝까지 N단어
- 🔢 gE 공백으로 분리 된 N 번째 단어의 끝까지 N 단어
- 🔢 ) 앞으로 N 문장
- 🔢 ( 뒤로 N 문장
- 🔢 } 앞으로 N 단락
- 🔢 { 뒤로 N 단락
- 🔢 ]] 섹션 시작시 N 섹션 앞으로
- 🔢 [[ 섹션 시작시 뒤로 N 섹션
- 🔢 ][ 섹션 끝에서 N 섹션 앞으로
- 🔢 [] 섹션 끝에서 뒤로 N 섹션
- 🔢 [( 닫히지 않은 '('로 N 번
- 🔢 [{ 닫히지 않은 '{'로 N 번
- ⬇️ 🔢 [m 메소드 시작으로 다시 N 번 (Java의 경우)
- ⬇️ 🔢 [M 메소드의 끝까지 N 번 (Java의 경우)
- 🔢 ]) 닫히지 않은 ')'까지 N 번 전달
- 🔢 ]} 닫히지 않은 '}'까지 N 번 전달
- ⬇️ 🔢 ]m 메소드 시작까지 N 배 앞으로 (Java의 경우)
- ⬇️ 🔢 ]M 메소드의 끝까지 N 배 앞으로 (Java의 경우)
- ⬇️ 🔢 [# 닫히지 않은 "#if"또는 "#else"로 다시 N 번
- ⬇️ 🔢 ]# 닫히지 않은 "#else"또는 "#endif"로 N 번 전달
- ⬇️ 🔢 [* C 주석 "/ *"의 시작으로 다시 N 번
- ⬇️ 🔢 ]* C 주석 "* /"의 끝까지 N 배 앞으로
+ Status Command Description
+ ------------------ ---------- ---------------------------------------------------
+ 🔢 w 앞으로 N 단어
+ 🔢 W 공백으로 분리 된 N 개의 단어 앞으로
+ 🔢 e N 번째 단어의 끝까지 N 단어
+ 🔢 E 공백으로 분리 된 N 번째 단어의 끝으로 N 단어 앞으로
+ 🔢 b 뒤로 N 단어
+ 🔢 B 공백으로 분리 된 N개의 단어 뒤로
+ 🔢 ge N번째 단어의 끝까지 N단어
+ 🔢 gE 공백으로 분리 된 N 번째 단어의 끝까지 N 단어
+ 🔢 ) 앞으로 N 문장
+ 🔢 ( 뒤로 N 문장
+ 🔢 } 앞으로 N 단락
+ 🔢 { 뒤로 N 단락
+ 🔢 ]] 섹션 시작시 N 섹션 앞으로
+ 🔢 [[ 섹션 시작시 뒤로 N 섹션
+ 🔢 ][ 섹션 끝에서 N 섹션 앞으로
+ 🔢 [] 섹션 끝에서 뒤로 N 섹션
+ 🔢 [( 닫히지 않은 '('로 N 번
+ 🔢 [{ 닫히지 않은 '{'로 N 번
+ ⬇️ 🔢 [m 메소드 시작으로 다시 N 번 (Java의 경우)
+ ⬇️ 🔢 [M 메소드의 끝까지 N 번 (Java의 경우)
+ 🔢 ]) 닫히지 않은 ')'까지 N 번 전달
+ 🔢 ]} 닫히지 않은 '}'까지 N 번 전달
+ ⬇️ 🔢 ]m 메소드 시작까지 N 배 앞으로 (Java의 경우)
+ ⬇️ 🔢 ]M 메소드의 끝까지 N 배 앞으로 (Java의 경우)
+ ⬇️ 🔢 [# 닫히지 않은 "#if"또는 "#else"로 다시 N 번
+ ⬇️ 🔢 ]# 닫히지 않은 "#else"또는 "#endif"로 N 번 전달
+ ⬇️ 🔢 [* C 주석 "/ *"의 시작으로 다시 N 번
+ ⬇️ 🔢 ]* C 주석 "* /"의 끝까지 N 배 앞으로

패턴 검색

- Status Command Description Note
- ✅ ⭐ 🔢 /{pattern}[/[offset]]<CR> {pattern}의 N 번째 발생을 검색 현재는 JavaScript 정규식 만 지원하지만 Vim의 사내 정규식 엔진은 지원하지 않습니다.
- ✅ ⭐ 🔢 ?{pattern}[?[offset]]<CR> {pattern}의 N 번째 발생을 뒤로 검색 현재는 JavaScript 정규식 만 지원하지만 Vim의 사내 정규식 엔진은 지원하지 않습니다.
- ⚠️ 🔢 /<CR> 정방향으로 마지막 검색 반복 {count}는 지원되지 않습니다.
- ⚠️ 🔢 ?<CR> 역방향으로 마지막 검색 반복 {count}는 지원되지 않습니다.
- 🔢 n 마지막 검색 반복
- 🔢 N 반대 방향으로 마지막 검색 반복
- 🔢 * 커서 아래에서 식별자를 검색
- 🔢 # 커서 아래에서 식별자를 뒤로 검색
- 🔢 g* "*"와 비슷하지만 부분 일치도 찾습니다
- 🔢 g# "#"과 같지만 부분 일치 항목도 찾습니다.
- gd 커서 아래 식별자의 로컬 선언으로 이동
- ⬇️ gD 커서 아래에 식별자의 goto 글로벌 선언

-## 마크와

- Status Command Description
- m{a-zA-Z} {a-zA-Z} 표시로 현재 위치 표시
- `{a-z} 현재 파일에서 {a-z}로 이동
- `{A-Z} 모든 파일에서 {A-Z}로 이동
- `{0-9} Vim이 이전에 나간 위치로 이동
- `` 마지막 점프 전 위치로 이동
- ⬇️ `" 이 파일을 마지막으로 편집 할 때 위치로 이동
- `[ 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- '[ 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- `] 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- '] 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- ⬇️ `< (이전) 시각 영역의 시작으로 이동
- ⬇️ `> (이전) 시각 영역의 끝으로 이동
- `. 이 파일에서 마지막 변경 위치로 이동
- '. 이 파일에서 마지막 변경 위치로 이동
- ⬇️ '{a-zA-Z0-9[]'"<>.} `와 동일하지만 첫 번째 공백이 아닌 행
- ⬇️ :marks 활성마크를 인쇄
- 🔢 CTRL-O 점프 목록에서 N 번째 이전 위치로 이동
- 🔢 CTRL-I 점프 목록에서 N 번쨰 새로운 위치로 이동
- ⬇️ :ju[mps] 점프리스트를 인쇄
+ Status Command Description
+ ------------------------- ---------------------------------- ---------------------------------------
+ ✅ ⭐ 🔢 /{pattern}[/[offset]]<CR> {pattern}의 N 번째 발생을 검색
+ ✅ ⭐ 🔢 ?{pattern}[?[offset]]<CR> {pattern}의 N 번째 발생을 뒤로 검색
+ ⚠️ 🔢 /<CR> 정방향으로 마지막 검색 반복
+ ⚠️ 🔢 ?<CR> 역방향으로 마지막 검색 반복
+ 🔢 n 마지막 검색 반복
+ 🔢 N 반대 방향으로 마지막 검색 반복
+ 🔢 * 커서 아래에서 식별자를 검색
+ 🔢 # 커서 아래에서 식별자를 뒤로 검색
+ 🔢 g* "*"와 비슷하지만 부분 일치도 찾습니다
+ 🔢 g# "#"과 같지만 부분 일치 항목도 찾습니다.
+ gd 커서 아래 식별자의 로컬 선언으로 이동
+ ⬇️ gD 커서 아래에 식별자의 goto 글로벌 선언

+## 마크와
+
+| Status | Command | Description |
+| ------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------- |
+| ✅ | m{a-zA-Z} | {a-zA-Z} 표시로 현재 위치 표시 |
+| ✅ | {a-z} | 현재 파일에서 {a-z}로 이동 | +| :white_check_mark: | {A-Z} | 모든 파일에서 {A-Z}로 이동 |
+| ✅ | {0-9} | Vim이 이전에 나간 위치로 이동 | +| :white_check_mark: | `` | 마지막 점프 전 위치로 이동 | +| :arrow_down: | " | 이 파일을 마지막으로 편집 할 때 위치로 이동 |
+| ✅ | [ | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 | +| :white_check_mark: | '[ | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 | +| :white_check_mark: | ] | 이전에 운영 한 텍스트��� 시작으로 이동하거나 텍스트를 넣습니다 |
+| ✅ | '] | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 |
+| ⬇️ | < | (이전) 시각 영역의 시작으로 이동 | +| :arrow_down: | > | (이전) 시각 영역의 끝으로 이동 |
+| ✅ | . | 이 파일에서 마지막 변경 위치로 이동 | +| :white_check_mark: | '. | 이 파일에서 마지막 변경 위치로 이동 | +| :arrow_down: | '{a-zA-Z0-9[]'"<>.} | 와 동일하지만 첫 번째 공백이 아닌 행 |
+| ⬇️ | :marks | 활성마크를 인쇄 |
+| ✅ | 🔢 CTRL-O | 점프 목록에서 N 번째 이전 위치로 이동 |
+| ✅ | 🔢 CTRL-I | 점프 목록에서 N 번쨰 새로운 위치로 이동 |
+| ⬇️ | :ju[mps] | 점프리스트를 인쇄 |

다양한 동작

- Status Command Description
- % 이 줄에서 다음 중괄호, 대괄호, 주석 또는 "#if"/ "#else"/ "# endif"를 찾아서 해당 행으로 이동하십시오.
+ Status Command Description
+ ------------------ ------------------- -----------------------------------------------------------------------------------------------------
+ % 이 줄에서 다음 중괄호, 대괄호, 주석 또는 "#if"/ "#else"/ "# endif"를 찾아서 해당 행으로 이동하십시오.
🔢 H 공백이 아닌 첫 번째 창에서 N 번째 줄로 이동
M 공백이 아닌 첫 번째 창에서 가운데 줄로 이동
🔢 L 첫 번째 공백이 아닌 바닥에서 N 번째 줄로 이동
- ⬇️ 🔢 go 버퍼의 N 번째 바이트로 이동
- ⬇️ :[range]go[to][off] 버퍼의 [off] 바이트로 이동
+ ⬇️ 🔢 go 버퍼의 N 번째 바이트로 이동
+ ⬇️ :[range]go[to][off] 버퍼의 [off] 바이트로 이동

태그 사용

VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순위가 낮습니다. 아직 명령 팔레트에서 사용해보십시오!

- Status Command Description
- ⬇️ :ta[g][!] {tag} 태그 {tag}로 이동
- ⬇️ :[count]ta[g][!] 태그 목록에서 [count] '번째 최신 태그로 이동
- ⬇️ CTRL-] 변경 사항이 없으면 커서 아래의 태그로 이동
- ⬇️ :ts[elect][!] [tag] 일치하는 태그를 나열하고 이동할 태그를 선택하십시오.
- ⬇️ :tj[ump][!] [tag] 일치하는 태그가 여러 개인 경우 [tag] 태그로 이동하거나 목록에서 선택하십시오.
- ⬇️ :lt[ag][!] [tag] [tag] 태그로 이동하여 위치 목록에 일치하는 태그 추가 인쇄 태그 목록
- ⬇️ :tagsa 인쇄 태그 목록
- ⬇️ 🔢 CTRL-T 태그 목록에서 N 번째 오래된 태그에서 뒤로 이동
- ⬇️ :[count]po[p][!] 태그 목록에서 [count] 번째 오래된 태그에서 뒤로 이동
- ⬇️ :[count]tn[ext][!] 다음으로 일치하는 [count] 번째 태그로 이동
- ⬇️ :[count]tp[revious][!] 이전 일치하는 [count] 번째 태그로 이동
- ⬇️ :[count]tr[ewind][!] 일치하는 [count] 번째 태그로 이동
- ⬇️ :tl[ast][!] 마지막으로 일치하는 태그로 이동
- ⬇️ :pt[ag] {tag} {tag} 태그를 표시하기 위해 미리보기 창을 엽니 다.
- ⬇️ CTRL-W } CTRL-]와 유사하지만 미리보기 창에 태그 표시
- ⬇️ :pts[elect] ": tselect"와 같지만 미리보기 창에 태그 표시
- ⬇️ :ptj[ump] ": tjump"와 같지만 미리보기 창에 태그 표시
- ⬇️ :pc[lose] 태그 미리보기 창 닫기
- ⬇️ CTRL-W z 태그 미리보기 창 닫기`
+ Status Command Description
+ ------------ ---------------------- -----------------------------------------------------------------------------
+ ⬇️ :ta[g][!] {tag} 태그 {tag}로 이동
+ ⬇️ :[count]ta[g][!] 태그 목록에서 [count] '번째 최신 태그로 이동
+ ⬇️ CTRL-] 변경 사항이 없으면 커서 아래의 태그로 이동
+ ⬇️ :ts[elect][!] [tag] 일치하는 태그를 나열하고 이동할 태그를 선택하십시오.
+ ⬇️ :tj[ump][!] [tag] 일치하는 태그가 여러 개인 경우 [tag] 태그로 이동하거나 목록에서 선택하십시오.
+ ⬇️ :lt[ag][!] [tag] [tag] 태그로 이동하여 위치 목록에 일치하는 태그 추가 인쇄 태그 목록
+ ⬇️ :tagsa 인쇄 태그 목록
+ ⬇️ 🔢 CTRL-T 태그 목록에서 N 번째 오래된 태그에서 뒤로 이동
+ ⬇️ :[count]po[p][!] 태그 목록에서 [count] 번째 오래된 태그에서 뒤로 이동
+ ⬇️ :[count]tn[ext][!] 다음으로 일치하는 [count] 번째 태그로 이동
+ ⬇️ :[count]tp[revious][!] 이전 일치하는 [count] 번째 태그로 이동
+ ⬇️ :[count]tr[ewind][!] 일치하는 [count] 번째 태그로 이동
+ ⬇️ :tl[ast][!] 마지막으로 일치하는 태그로 이동
+ ⬇️ :pt[ag] {tag} {tag} 태그를 표시하기 위해 미리보기 창을 엽니 다.
+ ⬇️ CTRL-W } CTRL-]와 유사하지만 미리보기 창에 태그 표시
+ ⬇️ :pts[elect] ": tselect"와 같지만 미리보기 창에 태��� 표시
+ ⬇️ :ptj[ump] ": tjump"와 같지만 미리보기 창에 태그 표시
+ ⬇️ :pc[lose] 태그 미리보기 창 닫기
+ ⬇️ CTRL-W z 태그 미리보기 창 닫기`

스크롤

- Status Command Description
- 🔢 CTRL-E window N 줄 아래로 내려갑니다 (기본값: 1)
+ Status Command Description
+ ------------------ ------------- -------------------------------------------------
+ 🔢 CTRL-E window N 줄 아래로 내려갑니다 (기본값: 1)
🔢 CTRL-D window N 줄 아래로 내려갑니다(기본값: 1/2 window)
- 🔢 CTRL-F window N 페이지 앞으로 (아래로)
- 🔢 CTRL-Y window N 줄 위쪽을 향합니다 (기본값: 1)
- 🔢 CTRL-U window N 줄 위쪽을 향합니다 (기본값: 1/2 window)
- 🔢 CTRL-B window N 페이지 뒤로 (위로)
- z CR or zt window 맨 위에있는 현재 행 다시 그리기
- z. or zz window 가운데에 현재 행 다시 그리기
- z- or zb window 맨 아래에 현재 행 다시 그리기
+ 🔢 CTRL-F window N 페이지 앞으로 (아래로)
+ 🔢 CTRL-Y window N 줄 위쪽을 향합니다 (기본값: 1)
+ 🔢 CTRL-U window N 줄 위쪽을 향합니다 (기본값: 1/2 window)
+ 🔢 CTRL-B window N 페이지 뒤로 (위로)
+ z CR or zt window 맨 위에있는 현재 행 다시 그리기
+ z. or zz window 가운데에 현재 행 다시 그리기
+ z- or zb window 맨 아래에 현재 행 다시 그리기

'wrap'이 꺼져있을 때만 작동합니다.

- Status Command Description Note
- ✅ ⭐ 🔢 zh 화면 N 문자를 오른쪽으로 스크롤 코드에서 가로 스크롤 막대의 이동 여부에 관계없이이 명령을 실행할 때 커서는 항상 이동합니다.
- ✅ ⭐ 🔢 zl 화면 N 문자를 왼쪽으로 스크롤 위와 같음
- ✅ ⭐ 🔢 zH 화면 너비를 화면 너비의 오른쪽으로 스크롤 위와 같음
- ✅ ⭐ 🔢 zL 화면 너비를 화면 너비의 왼쪽으로 스크롤 위와 같음
+ Status Command Description Note
+ ------------------------- --------- ----------------------------------------- -------------------------------------------------------------------------------------------
+ ✅ ⭐ 🔢 zh 화면 N 문자를 오른쪽으로 스크롤 코드에서 가로 스크롤 막대의 이동 여부에 관계없이이 명령을 실행할 때 커서는 항상 이동합니다.
+ ✅ ⭐ 🔢 zl 화면 N 문자를 왼쪽으로 스크롤 위와 같음
+ ✅ ⭐ 🔢 zH 화면 너비를 화면 너비의 오른쪽으로 스크롤 위와 같음
+ ✅ ⭐ 🔢 zL 화면 너비를 화면 너비의 왼쪽으로 스크롤 위와 같음

텍스트 삽입

- Status Command Description
- 🔢 a 커서 다음에 텍스트 추가 (N 회)
- 🔢 A 줄의 끝에 텍스트를 추가하십시오 (N 번)
- 🔢 i 커서 앞에 텍스트 삽입 (N 번) (또한 삽입)
- 🔢 I 첫 번째 공백이 아닌 줄 앞에 텍스트를 삽입하십시오 (N 번)
- 🔢 gI 1 열에 텍스트 삽입 (N 회)
- gi 마지막 변경이 끝��� 때 삽입
- 🔢 o 현재 줄 아래에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
- 🔢 O 현재 줄 위에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
+ Status Command Description
+ ------------------ --------- --------------------------------------------------------
+ 🔢 a 커서 다음에 텍스트 추가 (N 회)
+ 🔢 A 줄의 끝에 텍스트를 추가하십시오 (N 번)
+ 🔢 i 커서 앞에 텍스트 삽입 (N 번) (또한 삽입)
+ 🔢 I 첫 번째 공백이 아닌 줄 앞에 텍스트를 삽입하십시오 (N 번)
+ 🔢 gI 1 열에 텍스트 삽입 (N 회)
+ gi 마지막 변경이 끝날 때 삽입
+ 🔢 o 현재 줄 아래에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
+ 🔢 O 현재 줄 위에 새 줄을 열고 텍스트를 추가하십시오 (N 번)

비주얼 블록 모드에서:

- Status Command Description
- I 선택한 모든 줄 앞에 같은 텍스트를 삽입
- A 선택한 모든 줄 다음에 같은 텍스트를 추가하십시오
+ Status Command Description
+ ------------------ ------- ------------------------------------------------
+ I 선택한 모든 줄 앞에 같은 텍스트를 삽입
+ A 선택한 모든 줄 다음에 같은 텍스트를 추가하십시오

모드 키 삽입

@@ -240,73 +240,73 @@ VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순

Status Command Description
- Esc
- CTRL-C
- CTRL-O {command}
+ Esc
+ CTRL-C
+ CTRL-O {command}

이동:

- Status Command Description
- cursor keys 커서를 왼쪽/오른쪽/위/아래로 이동
- shift-left/right 한 단어 왼쪽/오른쪽
- shift-up/down 한 화면 뒤로/앞으로
- End 줄의 마지막 문자 다음에 커서
- Home 줄의 첫 문자에 커서
+ Status Command Description
+ ------------------ ---------------- ---------------------------------
+ cursor keys 커서를 왼쪽/오른쪽/위/아래로 이동
+ shift-left/right 한 단어 왼쪽/오른쪽
+ shift-up/down 한 화면 뒤로/앞으로
+ End 줄의 마지막 문자 다음에 커서
+ Home 줄의 첫 문자에 커서

삽입 모드의 특수 키

- Status Command Description Note
- ⬇️ CTRL-V {char}.. 문자를 문자 그대로 삽입하거나 10 진수 바이트 값을 입력하십시오.
- ⚠️ NL or CR or CTRL-M or CTRL-J 새 줄을 시작하다 CTRL-M 및 CTRL-J는 지원되지 않습니다
- CTRL-E 커서 아래에서 문자를 삽입
- CTRL-Y 커서 위에서 문자를 삽입
- ✅ ⭐ CTRL-A 이전에 삽입 한 텍스트 삽입 이전 삽입 세션에서 작성된 이전 문서 변경 사항을 적용하고 커서 아래에서 발생하는 변경 사항 만 적용합니다
- ✅ ⭐ CTRL-@ 이전에 삽입 한 텍스트 삽입 및 삽입 모드 중지 위와 같음
- CTRL-R {0-9a-z%#:.-="} 레지스터의 내용을 삽입
- CTRL-N 커서 앞에 식별자의 다음 일치를 삽입
- CTRL-P 커서 앞에 식별자의 이전 일치를 삽입
- ⬇️ CTRL-X ... 다양한 방법으로 커서 앞에있는 단어를 완성하십시오
- BS or CTRL-H 커서 앞의 문자를 삭제
- Del 커서 아래의 문자를 삭제
- CTRL-W 커서 앞의 단어를 삭제
- CTRL-U 현재 줄에 입력한 모든 문자를 삭제
- CTRL-T 현재 줄 앞에 한 개의 들여 쓰기 폭을 삽입
- CTRL-D 현재 줄 앞에 들여 쓰기 한 이동 폭 삭제
- ⬇️ 0 CTRL-D 현재 줄의 들여 쓰기를 모두 삭제하십시오.
- ⬇️ ^ CTRL-D 현재 줄에서 들여 쓰기를 모두 삭제하고 다음 줄 들여 쓰기를 복원
+ Status Command Description Note
+ ------------------------- ---------------------------- --------------------------------------------------------------- -------------------------------------------------------------------------------------------------------
+ ⬇️ CTRL-V {char}.. 문자를 문자 그대로 삽입하거나 10 진수 바이트 값을 입력하십시오.
+ ⚠️ NL or CR or CTRL-M or CTRL-J 새 줄을 시작하다 CTRL-M 및 CTRL-J는 지원되지 않습니다
+ CTRL-E 커서 아래에서 문자를 삽입
+ CTRL-Y 커서 위에서 문자를 삽입
+ ✅ ⭐ CTRL-A 이전에 삽입 한 텍스트 삽입 이전 삽입 세션에서 작성된 이전 문서 변경 사항을 적용하고 커서 아래에서 발생하는 변경 사항 만 적용합니다
+ ✅ ⭐ CTRL-@ 이전에 삽입 한 텍스트 삽입 및 삽입 모드 중지 위와 같음
+ CTRL-R {0-9a-z%#:.-="} 레지스터의 내용을 삽입
+ CTRL-N 커서 앞에 식별자의 다음 일치를 삽입
+ CTRL-P 커서 앞에 식별자의 이전 일치를 삽입
+ ⬇️ CTRL-X ... 다양한 방법으로 커서 앞에있는 단어를 완성하십시오
+ BS or CTRL-H 커서 앞의 문자를 삭제
+ Del 커서 아���의 문자를 삭제
+ CTRL-W 커서 앞의 단어를 삭제
+ CTRL-U 현재 줄에 입력한 모든 문자를 삭제
+ CTRL-T 현재 줄 앞에 한 개의 들여 쓰기 폭을 삽입
+ CTRL-D 현재 줄 앞에 들여 쓰기 한 이동 폭 삭제
+ ⬇️ 0 CTRL-D 현재 줄의 들여 쓰기를 모두 삭제하십시오.
+ ⬇️ ^ CTRL-D 현재 줄에서 들여 쓰기를 모두 삭제하고 다음 줄 들여 쓰기를 복원

Di그래프

- Status Command Description
- :dig[raphs] di그래프의 현재 목록 표시
- ⬇️ :dig[raphs] {char1}{char2} {number} ... 목록에 digraph(s) 추가
+ Status Command Description
+ ------------------ --------------------------------------- -------------------------
+ :dig[raphs] di그래프의 현재 목록 표시
+ ⬇️ :dig[raphs] {char1}{char2} {number} ... 목록에 digraph(s) 추가

Special inserts

- Status Command Description
- ⚠️ :r [file] 커서 아래에 [file]의 내용을 삽입하십시오.
- ⚠️ :r! {command} 커서 아래에 {command}의 표준 출력을 삽입하십시오.
+ Status Command Description
+ --------- ------------- -------------------------------------------------
+ ⚠️ :r [file] 커서 아래에 [file]의 내용을 삽입하십시오.
+ ⚠️ :r! {command} 커서 아래에 {command}의 표준 출력을 삽입하십시오.

텍스트 삭제

- Status Command Description
- 🔢 x 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
- 🔢 Del 커서 아��� 및 뒤에 N 문자를 삭제 하십시오.
- 🔢 X 커서 앞의 N 문자를 삭제 하십시오.
- 🔢 d{motion} {motion}으로 이동한 텍스트를 삭제하십시오.
- {visual}d 강조 표시된 텍스트를 삭제
- 🔢 dd N 줄을 삭제
- 🔢 D 줄 끝까지 삭제 (및 N-1 줄 더)
- 🔢 J N-1 라인 가입 (EOL 삭제)
- {visual}J 강조 표시된 라인에 참여
- 🔢 gJ "J"와 같지만 공백을 삽입하지 않음
- {visual}gJ "{visual} J"와 같지만 공백을 삽입하지 않음
- :[range]d [x] [범위] 줄 삭제 [등록 x]
+ Status Command Description
+ ------------------ ---------------- ------------------------------------------
+ 🔢 x 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
+ 🔢 Del 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
+ 🔢 X 커서 앞의 N 문자를 삭제 하십시오.
+ 🔢 d{motion} {motion}으로 이동한 텍스트를 삭제하십시오.
+ {visual}d 강조 표시된 텍스트를 삭제
+ 🔢 dd N 줄을 삭제
+ 🔢 D 줄 끝까지 삭제 (및 N-1 줄 더)
+ 🔢 J N-1 라인 가입 (EOL 삭제)
+ {visual}J 강조 표시된 라인에 참여
+ 🔢 gJ "J"와 같지만 공백을 삽입하지 않음
+ {visual}gJ "{visual} J"와 같지만 공백을 삽입하지 않음
+ :[range]d [x] [범위] 줄 삭제 [등록 x]

텍스트 복사 및 이동

@@ -329,224 +329,224 @@ VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순

텍스트 변경

- Status Command Description Note
- 🔢 r{char} N 문자를 {char}로 바꾸십시오
- ⬇️ 🔢 gr{char} 레이아웃에 영향을주지 않고 N 문자를 교체
- ✅ ⭐ 🔢 R 바꾸기 모드로 들어가십시오 (입력 한 텍스트를 N 번 반복하십시오) {count} is not supported
- ⬇️ 🔢 gR 가상 교체 모드로 전환 : 대체 모드와 유사하지만 레이아웃에 영향을 미치지 않음
- {visual}r{char} 비주얼 블록, 비주얼 또는 비주얼 라인 모드에서 : 선택한 텍스트의 각 문자를 {char}로 바꿉니다.
+ Status Command Description Note
+ ------------------------- --------------- -------------------------------------------------------------------------------------------- ------------------------
+ 🔢 r{char} N 문자를 {char}로 바꾸십시오
+ ⬇️ 🔢 gr{char} 레이아웃에 영향을주지 않고 N 문자를 교체
+ ✅ ⭐ 🔢 R 바꾸기 모드로 들어가십시오 (입력 한 텍스트를 N 번 반복하십시오) {count} is not supported
+ ⬇️ 🔢 gR 가상 교체 모드로 전환 : 대체 모드와 유사하지만 레이아웃에 영향을 미치지 않음
+ {visual}r{char} 비주얼 블록, 비주얼 또는 비주얼 라인 모드에서 : 선택한 텍스트의 각 문자를 {char}로 바꿉니다.

(변경 = 텍스트 삭제 및 삽입 모드 입력)

- Status Command Description
- 🔢 c{motion} {motion}으로 이동 한 텍스트를 변경하십시오.
- {visual}c 강조 표시된 텍스트를 변경
- 🔢 cc N줄 바꾸기
- 🔢 S N줄 바꾸기
- 🔢 C 줄의 끝으로 변경 (및 N-1 더 많은 줄)
- 🔢 s N 문자를 바꾸다
- {visual}c 비주얼 블록 모드에서 : 입력 한 텍스트로 선택한 각 줄을 변경합니다
- {visual}C 비주얼 블록 모드에서 : 입력 한 텍스트로 줄 끝까지 선택된 각 줄을 변경합니다.
- {visual}~ 강조 표시된 텍스트의 경우 전환
- {visual}u 강조 표시된 텍스트를 소문자로 설정
- {visual}U 강조 표시된 텍스트를 대문자로 만듭니다.
- g~{motion} {motion}으로 이동 한 텍스트의 대소 문자 전환
- gu{motion} {motion}으로 옮긴 텍스트를 소문자로 만듭니다.
- gU{motion} {motion}으로 이동 한 텍스트를 대문자로 만듭니다.
- ⬇️ {visual}g? 강조 표시된 텍스트에서 rot13 인코딩 수행
- ⬇️ g?{motion} {motion}으로 이동 한 텍스트에서 rot13 인코딩 수행
- 🔢 CTRL-A 커서 위 또는 뒤에있는 숫자에 N을 더하다
- 🔢 CTRL-X 커서에서 또는 뒤에있는 숫자에서 N을 빼기
- 🔢 <{motion} {motion}으로 이동 한 줄을 한 이동 폭 왼쪽으로 이동
- 🔢 << N 라인을 한 이동 폭만큼 왼쪽으로 이동
- 🔢 >{motion} {motion}으로 이동 한 선을 한 이동 폭만큼 오른쪽으로 이동
- 🔢 >> N 라인을 한 이동 폭만큼 오른쪽으로 이동
- 🔢 gq{motion} {motion}으로 이동 한 행을 'textwidth'길이로 형식화
- ⬇️ :[range]ce[nter][width] [range]에서 선 중심
- ⬇️ :[range]le[ft][indent] [range]에서 줄을 왼쪽 정렬합니다 ([indent] 포함)
- ⬇️ :[ranee]ri[ght][width] [range]에서 선을 오른쪽 정렬합니다
+ Status Command Description
+ ------------------ ----------------------- ----------------------------------------------------------------------------
+ 🔢 c{motion} {motion}으로 이동 한 텍스트를 변경하십시오.
+ {visual}c 강조 표시된 텍스트를 변경
+ 🔢 cc N줄 바꾸기
+ 🔢 S N줄 바꾸기
+ 🔢 C 줄의 끝으로 변경 (및 N-1 더 많은 줄)
+ 🔢 s N 문자를 바꾸다
+ {visual}c 비주얼 블록 모드에서 : 입력 한 텍스트로 선택한 각 줄을 변경합니다
+ {visual}C 비주얼 블록 모드에서 : 입력 한 텍스트로 줄 끝까지 선택된 각 줄을 변경합니다.
+ {visual}~ 강조 표시된 텍스트의 경우 전환
+ {visual}u 강조 표시된 텍스트를 소문자로 설정
+ {visual}U 강조 표시된 텍스트를 대문자로 만듭니다.
+ g~{motion} {motion}으로 이동 한 텍스트의 대소 문자 전환
+ gu{motion} {motion}으로 옮긴 텍스트를 소문자로 만듭니다.
+ gU{motion} {motion}으로 이동 한 텍스트를 대문자로 만듭니다.
+ ⬇️ {visual}g? 강조 표시된 텍���트에서 rot13 인코딩 수행
+ ⬇️ g?{motion} {motion}으로 이동 한 텍스트에서 rot13 인코딩 수행
+ 🔢 CTRL-A 커서 위 또는 뒤에있는 숫자에 N을 더하다
+ 🔢 CTRL-X 커서에서 또는 뒤에있는 숫자에서 N을 빼기
+ 🔢 <{motion} {motion}으로 이동 한 줄을 한 이동 폭 왼쪽으로 이동
+ 🔢 << N 라인을 한 이동 폭만큼 왼쪽으로 이동
+ 🔢 >{motion} {motion}으로 이동 한 선을 한 이동 폭만큼 오른쪽으로 이동
+ 🔢 >> N 라인을 한 이동 폭만큼 오른쪽으로 이동
+ 🔢 gq{motion} {motion}으로 이동 한 행을 'textwidth'길이로 형식화
+ ⬇️ :[range]ce[nter][width] [range]에서 선 중심
+ ⬇️ :[range]le[ft][indent] [range]에서 줄을 왼쪽 정렬합니다 ([indent] 포함)
+ ⬇️ :[ranee]ri[ght][width] [range]에서 선을 오른쪽 정렬합니다

복잡한 변화

- Status Command Description Note
- ⬇️ 🔢 !{motion}{command}<CR> {command}를 통해 이동 한 행을 필터링
- ⬇️ 🔢 !!{command}<CR> {command}를 통해 N 라인 필터링
- ⬇️ {visual}!{command}<CR> {command}를 통해 강조 표시된 줄을 필터링하십시오.
- ⬇️ :[range]! {command}<CR> {command}를 통해 [range] 라인 필터링
- 🔢 ={motion} 'equalprg'를 통해 이동 한 라인을 필터링 through 'equalprg'
- 🔢 == 'equalprg'를 통해 N 라인 필터링
- {visual}= 'equalprg'를 통해 강조 표시된 줄을 필터링하십시오.
- ✅ ⭐ ⚠️ :[range]s[ubstitute]/{pattern}/{string}/[g][c] [range] 행에서 {string}으로 {pattern}을 대체하십시오. [g]로, 모든 {pattern}을 대체하십시오. [c]로 각 교체 확인 현재는 JavaScript 정규식 만 지원하며 gi 옵션 만 구현됩니다.
- ⬇️ :[range]s[ubstitute][g][c] 새로운 범위와 옵션으로 이전 ": s"반복
- ⬇️ & 옵션없이 현재 줄에서 이전 ": s"반복
- ⬇️ :[range]ret[ab][!] [tabstop] 'tabstop'을 새 값으로 설정하고 그에 따라 공백을 조정하십시오.
+ Status Command Description Note
+ ----------------------------------- ---------------------------------------------- -------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------
+ ⬇️ 🔢 !{motion}{command}<CR> {command}를 통해 이동 한 행을 필터링
+ ⬇️ 🔢 !!{command}<CR> {command}를 통해 N 라인 필터링
+ ⬇️ {visual}!{command}<CR> {command}를 통해 강조 표시된 줄을 필터링하십시오.
+ ⬇️ :[range]! {command}<CR> {command}를 통해 [range] 라인 필터링
+ 🔢 ={motion} 'equalprg'를 통해 이동 한 라인을 필터링 through 'equalprg'
+ 🔢 == 'equalprg'를 통해 N 라인 필터링
+ {visual}= 'equalprg'를 통해 강조 표시된 줄을 필터링하십시오.
+ ✅ ⭐ ⚠️ :[range]s[ubstitute]/{pattern}/{string}/[g][c] [range] 행에서 {string}으로 {pattern}을 대체하십시오. [g]로, 모든 {pattern}을 대체하십시오. [c]로 각 교체 확인 현재는 JavaScript 정규식 만 지원하며 gi 옵션 만 구현됩니다.
+ ⬇️ :[range]s[ubstitute][g][c] 새로운 범위와 옵션으로 이전 ": s"반복
+ ⬇️ & 옵션없이 현��� 줄에서 이전 ": s"반복
+ ⬇️ :[range]ret[ab][!] [tabstop] 'tabstop'을 새 값으로 설정하고 그에 따라 공백을 조정하십시오.

비주얼 모드

- Status Command Description
- v 문자 강조 표시 시작 또는 강조 표시 중지
- V 선으로 강조 표시 시작 또는 강조 표시 중지
- CTRL-V 블록 단위로 강조 표시 시작 또는 강조 표시 중지
- o 강조 표시 시작으로 커서 위치 교환
- gv 이전 시각적 영역에서 강조 표시 시작
+ Status Command Description
+ ------------------ ------- ----------------------------------------------
+ v 문자 강조 표시 시작 또는 강조 표시 중지
+ V 선으로 강조 표시 시작 또는 강조 표시 중지
+ CTRL-V 블록 ���위로 강조 표시 시작 또는 강조 표시 중지
+ o 강조 표시 시작으로 커서 위치 교환
+ gv 이전 시각적 영역에서 강조 표시 시작

텍스트 객체 (비주얼 모드에서만 또는 연산자 뒤)

- Status Command Description
- 🔢 aw "a word"를 선택하십시오.
- 🔢 iw "inner word"를 선택하십시오.
- 🔢 aW "a WORD"를 선택하십시오.
- 🔢 iW "inner WORD"를 선택하십시오.
- 🔢 as "a sentence"를 선택하십시오.
- 🔢 is "inner sentence"를 선택하십시오.
- 🔢 ap "a paragraph"를 선택하십시오.
- 🔢 ip "inner paragraph"를 선택하십시오.
- 🔢 a], a[ '[' ']'블록을 선택하십시오
- 🔢 i], i[ 내부 '[' ']'블록을 선택하십시오.
- 🔢 ab, a(, a) "a block"을 선택하십시오. ("[("에서 "])"까지)
- 🔢 ib, i), i( "inner block"을 선택하십시오. ("[("에서 "])"까지)
- 🔢 a>, a< "a <> block"을 선택하십시오.
- 🔢 i>, i< "inner <> block"을 선택하십시오.
- 🔢 aB, a{, a} "a Block"을 선택하십시오. ("[{"에서 "]}"까지)
- 🔢 iB, i{, i} "inner Block"을 ("[{"에서 "]}"까지)
- 🔢 at "a tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
- 🔢 it "inner tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
- 🔢 a' "a single quoted string"을 선택하십시오.
- 🔢 i' "inner single quoted string"을 선택하십시오.
- 🔢 a" "a double quoted string"을 선택하십시오.
- 🔢 i" "inner double quoted string"을 선택하십시오.
- 🔢 a` "a backward quoted string"을 선택하십시오.
- 🔢 i` "inner backward quoted string"을 선택하십시오.
+ Status Command Description
+ ------------------ ---------------------------------------------------------- --------------------------------------------------------------------
+ 🔢 aw "a word"를 선택하십시오.
+ 🔢 iw "inner word"를 선택하십시오.
+ 🔢 aW "a WORD"를 선택하십시오.
+ 🔢 iW "inner WORD"를 선택하십시오.
+ 🔢 as "a sentence"를 선택하십시오.
+ 🔢 is "inner sentence"를 선택하십시오.
+ 🔢 ap "a paragraph"를 선택하십시오.
+ 🔢 ip "inner paragraph"를 선택하십시오.
+ 🔢 a], a[ '[' ']'블록을 선택하십시오
+ 🔢 i], i[ 내부 '[' ']'블록을 선택하십시오.
+ 🔢 ab, a(, a) "a block"을 선택하십���오. ("[("에서 "])"까지)
+ 🔢 ib, i), i( "inner block"을 선택하십시오. ("[("에서 "])"까지)
+ 🔢 a>, a< "a <> block"을 선택하십시오.
+ 🔢 i>, i< "inner <> block"을 선택하십시오.
+ 🔢 aB, a{, a} "a Block"을 선택하십시오. ("[{"에서 "]}"까지)
+ 🔢 iB, i{, i} "inner Block"을 ("[{"에서 "]}"까지)
+ 🔢 at "a tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
+ 🔢 it "inner tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
+ 🔢 a' "a single quoted string"을 선택하십시오.
+ 🔢 i' "inner single quoted string"을 선택하���시오.
+ 🔢 a" "a double quoted string"을 선택하십시오.
+ 🔢 i" "inner double quoted string"을 선택하십시오.
+ 🔢 a` "a backward quoted string"을 선택하십시오.
+ 🔢 i` "inner backward quoted string"을 선택하십시오.

반복 명령

- Status Command Description Note
- ✅ ⭐ 🔢 . 마지막 변경을 반복합니다 (N으로 개수를 대체) 커서 아래에서 발생하지 않는 내용 변경은 반복 할 수 없습니다.
- q{a-z} 입력 된 문자를 레지스터 {a-z}에 기록
- ⬇️ q{A-Z} {a-z} 등록을 위해 추가 된 레코드 유형 문자
+ Status Command Description Note
+ ------------------------- --------------------------------- -------------------------------------------------------------------------------------------------- ------------------------------------------------------------
+ ✅ ⭐ 🔢 . 마지막 변경을 반복합니다 (N으로 개수를 대체) 커서 아래에서 발생하지 않는 내용 변경은 반복 할 수 없습니다.
+ q{a-z} 입력 된 문자를 레지스터 {a-z}에 기록
+ ⬇️ q{A-Z} {a-z} 등록을 위해 추가 된 레코드 유형 문자
q 녹화 중지
- 🔢 @{a-z} 레지스터 {a-z}의 내용을 실행합니다 (N 회)
- 🔢 @@ 이전 @ {a-z} 반복 (N 회)
- ⬇️ :@{a-z} 레지스터 {a-z}의 내용을 Ex 명령으로 실행
+ 🔢 @{a-z} 레지스터 {a-z}의 내용을 실행합니다 (N 회)
+ 🔢 @@ 이전 @ {a-z} 반복 (N 회)
+ ⬇️ :@{a-z} 레지스터 {a-z}의 내용을 Ex 명령으로 실행
⬇️ :@@ 이전 반복 : @ {a-z}
⬇️ :[range]g[lobal]/{pattern}/[cmd] execute Ex command cmd on the lines within [range] where {pattern} matches
⬇️ :[range]g[lobal]!/{pattern}/[cmd] execute Ex command cmd on the lines within [range] where {pattern} does NOT match
- ⬇️ :so[urce] {file} {file}에서 EX 명령을 읽습니다.
- ⬇️ :so[urce]! {file} {file}에서 Vim 명령을 읽습니다.
- ⬇️ :sl[eep][sec] [sec] 초 동안 아무 것도하지 마십시오
- ⬇️ 🔢 gs N 초 동안 절전 모드로 전환
+ ⬇️ :so[urce] {file} {file}에서 EX 명령을 읽습니다.
+ ⬇️ :so[urce]! {file} {file}에서 Vim 명령을 읽습니다.
+ ⬇️ :sl[eep][sec] [sec] 초 동안 아무 것도하지 마십시오
+ ⬇️ 🔢 gs N 초 동안 절전 모드로 전환

옵션

- Status Command Description Note
- ⬇️ :se[t] 수정 된 모든 옵션 표시
- ⬇️ :se[t] all 모든 non-termcap 옵션을 표시
- ⬇️ :se[t] termcap 모든 termcap 옵션을 표시
- :se[t] {option} set boolean option (switch it on), 문자열 또는 숫자 옵션 표시
- :se[t] no{option} boolean option 재설정(switch it off)
- :se[t] inv{option} boolean option 반전
- :se[t] {option}={value} 문자열 / 숫자 옵션을 {value}로 설정
- :se[t] {option}+={value} 문자열 옵션에 {value} 추가, 숫자 옵션에 {value} 추가
- ✅ ⭐ :se[t] {option}-={value} 문자열 옵션에서 {value}를 제거하고 숫자 옵션에서 {value}를 뺍니다. 여기서는 문자열 옵션을 지원하지 않습니다.
- :se[t] {option}? {option}의 가치를 보여주십시오.
- ⬇️ :se[t] {option}& {option}을 기본 값으로 재설정
- ⬇️ :setl[ocal] ": set"과 같지만 옵션이있는 옵션의 로컬 값을 설정하십시오.
- ⬇️ :setg[lobal] ": set"과 같지만 로컬 옵션의 전역 값을 설정하십시오.
- ⬇️ :fix[del] 't_kb'값에 따른 't_kD'값 설정
+ Status Command Description Note
+ ------------------------- ------------------------ -------------------------------------------------------------------------- -----------------------------------------
+ ⬇️ :se[t] 수정 된 모든 옵션 표시
+ ⬇️ :se[t] all 모든 non-termcap 옵션을 표시
+ ⬇️ :se[t] termcap 모든 termcap 옵션을 표시
+ :se[t] {option} set boolean option (switch it on), 문자열 또는 숫자 옵션 표시
+ :se[t] no{option} boolean option 재설정(switch it off)
+ :se[t] inv{option} boolean option 반전
+ :se[t] {option}={value} 문자열 / 숫자 옵션을 {value}로 설정
+ :se[t] {option}+={value} 문자열 옵션에 {value} 추가, 숫자 옵션에 {value} 추가
+ ✅ ⭐ :se[t] {option}-={value} 문자열 옵션에서 {value}를 제거하고 숫자 옵션에서 {value}를 뺍니다. 여기서는 문자열 옵션을 지원하지 않습니다.
+ :se[t] {option}? {option}의 가치를 보여주십시오.
+ ⬇️ :se[t] {option}& {option}을 기본 값으로 재설정
+ ⬇️ :setl[ocal] ": set"과 같지만 옵션이있는 옵션의 로컬 값을 설정하십시오.
+ ⬇️ :setg[lobal] ": set"과 같지만 로컬 옵션의 전역 값을 설정하십시오.
+ ⬇️ :fix[del] 't_kb'값에 따른 't_kD'값 설정
⬇️ :opt[ions] 기능별로 분류 된 옵션, 한 줄 설명 및 도움말 링크를 보려면 새 창을 엽니 다.

목록이 너무 길기 때문에 이미 지원되는 옵션을 여기에 넣습니다.

- Status Command Default Value Description
- tabstop (ts) 4. we use Code's default value tabSize instead of Vim 파일의 <Tab>이 사용하는 공백 수
- hlsearch (hls) false 이전 검색 패턴이 있으면 일치하는 항목을 모두 강조 표시하십시오.
- ignorecase (ic) true 검색 패턴에서 대소 문자를 무시하십시오.
- smartcase (scs) true 검색 패턴에 대문자가 포함 된 경우 'ignorecase'옵션을 대체하십시오.
- iskeyword (isk) @,48-57,_,128-167,224-235 키워드는 영숫자와 '\ _'를 포함합니다. iskeyword에 대한 사용자 설정이 없으면editor.wordSeparators 속성을 사용합니다.
- scroll (scr) 20 CTRL-U 및 CTRL-D 명령으로 스크롤 할 행의 수입니다.
- expandtab (et) True. we use Code's default value insertSpaces instead of Vim <Tab>을 삽입 할 때 공백을 사용하십시오.
- autoindent true 정상 모드에서cc 또는S를 수행 할 때 들여 쓰기를 유지하여 줄을 바꿉니다.
+ Status Command Default Value Description
+ ------------------ --------------- --------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------
+ tabstop (ts) 4. we use Code's default value tabSize instead of Vim 파일의 <Tab>이 사용하는 공백 수
+ hlsearch (hls) false 이전 검색 패턴이 있으면 일치하는 항목을 모두 강조 표시하십시오.
+ ignorecase (ic) true 검색 패턴에서 대소 문자를 무시하십시오.
+ smartcase (scs) true 검색 패턴에 대문자가 포함 된 경우 'ignorecase'옵션을 대체하십시오.
+ iskeyword (isk) @,48-57,_,128-167,224-235 키워드는 영숫자와 '\ _'를 포함합니다. iskeyword에 대한 사용자 설정이 없으면editor.wordSeparators 속성을 사용합니다.
+ scroll (scr) 20 CTRL-U 및 CTRL-D 명령으로 스크롤 할 행의 수입니다.
+ expandtab (et) True. we use Code's default value insertSpaces instead of Vim <Tab>을 삽입 할 때 공백을 사용하십시오.
+ autoindent true 정상 모드에서cc 또는S를 수행 할 때 들여 쓰기를 유지하여 줄을 바꿉니다.

실행 취소 / 재실행 명령

- Status Command Description Note
- 🔢 u undo last N changes 현재 구현이 모든 경우를 완벽하게 다루지는 않을 수 있습니다.
+ Status Command Description Note
+ ------------------ ------------- -------------------------- -----------------------------------------------------------
+ 🔢 u undo last N changes 현재 구현이 모든 경우를 완벽하게 다루지는 않을 수 있습니다.
🔢 CTRL-R redo last N undone changes 위와 같음
U restore last changed line

외부 명령

- Status Command Description
- ⬇️ :sh[ell] shell을 시작하다
- ⬇️ :!{command} shell로 {command}를 실행
- ⬇️ K 'keywordprg'프로그램이있는 커서 아래의 검색 키워드 (기본값 : "man")
+ Status Command Description
+ ------------ ----------- -------------------------------------------------------------------
+ ⬇️ :sh[ell] shell을 시작하다
+ ⬇️ :!{command} shell로 {command}를 실행
+ ⬇️ K 'keywordprg'프로그램이있는 커서 아래의 검색 키워드 (기본값 : "man")

전 번호

- Status Command Description Note
- , 두 줄 번호를 구분
- ✅ ⭐ ; idem, 두 번째 행을 해석하기 전에 커서를 첫 번째 행 번호로 설정하십시오. 커서 이동은 포함되지 않습니다.
- {number} 절대적인 line number
- . 현재 줄
- $ 파일의 마지막 줄
- % 1,$와 같음 (전체 파일)
- * '<,'>은 같음(시작적 영역)
- 't mark t의 위치
- ⬇️ /{pattern}[/] {pattern}이 일치하는 다음 줄
- ⬇️ ?{pattern}[?] {pattern}이 일치하는 이전 줄
- +[num] 앞 줄 번호에 [num]을 추가하십시오 (기본값 : 1).
- -[num] 이전 줄 번호에서 [num]을 뺍니다 (기본값 : 1).
+ Status Command Description Note
+ ------------------------- ------------- ------------------------------------------------------------------------------------------------------ ----
+ , 두 줄 번호를 구분
+ ✅ ⭐ ; idem, 두 번째 행을 해석하기 전에 커서를 첫 번째 행 번호로 설정하십시오. 커서 이동은 포함되지 않습니다.
+ {number} 절대적인 line number
+ . 현재 줄
+ $ 파일의 마지막 줄
+ % 1,$와 같음 (전체 파일)
+ * '<,'>은 같음(시작적 영역)
+ 't mark t의 위치
+ ⬇️ /{pattern}[/] {pattern}이 일치하는 다음 줄
+ ⬇️ ?{pattern}[?] {pattern}이 일치하는 이전 ���
+ +[num] 앞 줄 번호에 [num]을 추가하십시오 (기본값 : 1).
+ -[num] 이전 줄 번호에서 [num]을 뺍니다 (기본값 : 1).

파일 편집

- Status Command Description Note
- ✅ ⭐ :e[dit] {file} Edit {file}. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
+ Status Command Description Note
+ ------------------------- -------------- ------------ -----------------------------------------------------------------------
+ ✅ ⭐ :e[dit] {file} Edit {file}. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.

Multi-window 명령

- Status Command Description Note
- ✅ ⭐ :e[dit] {file} {file}을 편집하십시오. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
- ✅ ⭐ <ctrl-w> hl 창 사이를 전환합니다. VS Code에는 Window라는 개념이 없으므로 이러한 명령을 그룹화 된 편집기 간 전환에 매핑합니다.
- :sp {file} 현재 창을 두개로 나눕니다.
- ✅ ⭐ :vsp {file} 세로로 현재 창을 두 개로 나눕니다.
- <ctrl-w> s 현재 창을 두개로 나눕니다.
- ✅ ⭐ <ctrl-w> v 세로로 현재 창을 두 개로 나눕니다.
- :new 새 창을 가로로 만들고 빈 파일 편집을 시작하십시오.
- ✅ ⭐ :vne[w] 새 창을 세로로 만들고 빈 파일 편집을 시작하십시오.
+ Status Command Description Note
+ ------------------------- ----------------- -------------------------------------------------- -------------------------------------------------------------------------------------------
+ ✅ ⭐ :e[dit] {file} {file}을 편집하십시오. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
+ ✅ ⭐ <ctrl-w> hl 창 사이를 전환합니다. VS Code에는 Window라는 개념이 없으므로 이러한 명령을 그룹화 된 편집기 간 전환에 매핑합니다.
+ :sp {file} 현재 창을 두개로 나눕니다.
+ ✅ ⭐ :vsp {file} 세로로 현재 창을 두 개로 나눕니다.
+ <ctrl-w> s 현재 창을 두개로 나눕니다.
+ ✅ ⭐ <ctrl-w> v 세로로 현재 창을 두 개로 나눕니다.
+ :new 새 창을 가로로 만들고 빈 파일 편집을 시작하십시오.
+ ✅ ⭐ :vne[w] 새 창을 세로로 만들고 빈 파일 편집을 시작하십시오.

- Status Command Description Note
+ Status Command Description Note
+ ------------------------- ------------------------------------ ------------------------------------------------------------------------------------- ---------------------------------------------------------------
:tabn[ext] 🔢 다음 탭 페이지 또는 탭 페이지 {count}로 이동하십시오. 첫 번째 탭 페이지는 1 번입니다.
- {count}<C-PageDown>, {count}gt 위와 동일
- :tabp[revious] 🔢 이전 탭 페이지로 이동하십시오. 첫 번째부터 마지막까지 감싸줍니다.
- :tabN[ext] 🔢 위와 동일
- {count}<C-PageUp>, {count}gT 위와 동일
- :tabfir[st] 첫 번째 탭 페이지로 이동하십시오.
- :tabl[ast] 마지막 탭 페이지로 이동하십시오.
- :tabe[dit] {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
- ⬇️ :[count]tabe[dit], :[count]tabnew 위와 동일 [count] 는 지원되지 않습니다.
- :tabnew {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
- ⬇️ :[count]tab {cmd} {cmd}를 실행하고 새 창이 열리면 대신 새 탭 페이지를여십시오.
- ✅ ⭐ :tabc[lose][!] 🔢 현재 탭 페이지를 닫거나 탭 페이지 {count}를 닫습니다. 코드는 저장하지 않고 탭을 직접 닫습니다.
- ✅ ⭐ :tabo[nly][!] 다른 모든 탭 페이지를 닫습니다. !는 지원되지 않으며, 코드는 저장하지 않고 탭을 직접 닫습니다.
- :tabm[ove][n] 현재 탭 페이지를 탭 페이지 N 이후로 이동하십시오.
- ⬇️ :tabs 탭 페이지와 포함 된 창을 나열하십시오. 항상 코드의 내장 단축키를 사용할 수 있습니다 :cmd / ctrl + p
- ⬇️ :tabd[o] {cmd} 각 탭 페이지에서 {cmd}를 실행하십시오.
+ {count}<C-PageDown>, {count}gt 위와 동일
+ :tabp[revious] 🔢 이전 탭 페이지로 이동하십시오. 첫 번째부터 마지막까지 감싸줍니다.
+ :tabN[ext] 🔢 위와 동일
+ {count}<C-PageUp>, {count}gT 위와 동일
+ :tabfir[st] 첫 번째 탭 페이지로 이동하십시오.
+ :tabl[ast] 마지막 탭 페이지로 이동하십시오.
+ :tabe[dit] {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
+ ⬇️ :[count]tabe[dit], :[count]tabnew 위와 동일 [count] 는 지원되지 않습니다.
+ :tabnew {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
+ ⬇️ :[count]tab {cmd} {cmd}를 실행하고 새 창이 열리면 대신 새 탭 페이지를여십시오.
+ ✅ ⭐ :tabc[lose][!] 🔢 현재 탭 페이지를 닫거나 탭 페이지 {count}를 닫습니다. 코드는 저장하지 않고 탭을 직접 닫습니다.
+ ✅ ⭐ :tabo[nly][!] 다른 모든 탭 페이지를 닫습니다. !는 지원되지 않으며, 코드는 ���장하지 않고 탭을 직접 닫습니다.
+ :tabm[ove][n] 현재 탭 페이지를 탭 페이지 N 이후로 이동하십시오.
+ ⬇️ :tabs 탭 페이지와 포함 된 창을 나열하십시오. 항상 코드의 내장 단축키를 사용할 수 있습니다 :cmd / ctrl + p
+ ⬇️ :tabd[o] {cmd} 각 탭 페이지에서 {cmd}를 실행하십시오.

Folding

@@ -558,33 +558,33 @@ folding 방법은 'foldmethod' 옵션으로 설정할 수 있습니다. 현재 C

모든 fold-related가 this issue에 의해 차단되었습니다.

- Status Command Description
- ⬇️ zf{motion} or {Visual}zf fold를 만드는 연산자입니다.
- ⬇️ zF [count] 줄의 fold를 만듭니다. "zf"처럼 작동합니다.
- ⬇️ zd 커서에서 하나의 fold를 삭제하십시오.
- ⬇️ zD 커서에서 fold를 재귀적으로 삭제합니다.
- ⬇️ zE 창의 모든 fold를 제거하십시오.
- zo 커서 아래에 하나의 fold를 엽니다. 카운트가 주어지면 그 많은 폴드가 열립니다.
- zO 커서 아래의 모든 fold를 재귀적으로 엽니다.
- zc 커서 아래에서 한 개의 fold를 닫습니다. 카운트가 주어지면 깊은 곳의 많은 folds가 닫힙니다.
- zC 커서 아래의 모든fold를 재귀적으로 닫습니다.
- za 닫힌 fold에있을 때 : 여십시오. 열린 fold시 : 닫고 '접을 수 있음'을 설정하십시오.
- ⬇️ zA 열린 fold에 있을 때: 재귀적으로 엽니다. 닫힌 fold에 있을 때 : 재귀적으로 닫고 'foldenable'을 설정하십시오.
- ⬇️ zv View cursor line: 라인을 만들기에 충분한 fold를 엽니다.
- ⬇️ zx 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
- ⬇️ zX Update folds : 수동으로 열리고 닫힌 fold를 취소합니다. 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
- ⬇️ zm Fold more : 'foldlevel'에서 하나를 빼십시오.
- zM Close all folds : 'foldlevel'을 0으로 설정하십시오. 'foldenable'이 설정됩니다.
- ⬇️ zr Reduce folding : '폴더'에 하나를 추가하십시오.
- zR Open all fold. 'foldlevel'을 가장 높은 접기 수준으로 설정합니다.
- ⬇️ zn Fold none : 'foldenable'을 재설정하십시오. 모든 주름이 열립니다.
- ⬇️ zN Fold normal : 'foldenable'을 설정하십시오. 모든 주름은 이전과 동일합니다.
- ⬇️ zi 'foldenable'을 반전시킵니다.
- ⬇️ [z 현재 열린 fold 시작으로 이동합니다.
- ⬇️ ]z 현재 열린 fold의 끝으로 이동합니다.
- ⬇️ zj 다음 fold의 시작 부분으로 아래로 이동하십시오.
- ⬇️ zk 이전 fold의 끝으로 위로 이동하십시오.
+ Status Command Description
+ ------------------ ------------------------ -----------------------------------------------------------------------------------------------------------------------------
+ ⬇️ zf{motion} or {Visual}zf fold를 만드는 연산자입니다.
+ ⬇️ zF [count] 줄의 fold를 만듭니다. "zf"처럼 작동합니다.
+ ⬇️ zd 커서에서 하나의 fold를 삭제하십시오.
+ ⬇️ zD 커서에서 fold를 재귀적으로 삭제합니다.
+ ⬇️ zE 창의 모든 fold를 제거하십시오.
+ zo 커서 아래에 하나의 fold를 엽니다. 카운트가 주어지면 그 많은 폴드가 열립니다.
+ zO 커서 아래의 모든 fold를 재귀적으로 엽니다.
+ zc 커서 아래에서 한 개의 fold를 닫습니다. 카운트가 주어지면 깊은 곳의 많은 folds가 닫힙니다.
+ zC 커서 아래의 모든fold를 재귀적으로 닫습니다.
+ za 닫힌 fold에있을 때 : 여십시오. 열린 fold시 : 닫고 '접을 수 있음'을 설정하십시오.
+ ⬇️ zA 열린 fold에 있을 때: 재귀적으로 엽니다. 닫힌 fold에 있을 때 : 재귀적으로 닫고 'foldenable'을 설정하십시오.
+ ⬇️ zv View cursor line: 라인을 만들기에 충분한 fold를 엽니다.
+ ⬇️ zx 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
+ ⬇️ zX Update folds : 수동으로 열리고 닫힌 fold를 취소합니다. 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
+ ⬇️ zm Fold more : 'foldlevel'에서 하나를 빼십시오.
+ zM Close all folds : 'foldlevel'을 0으로 설정하십시오. 'foldenable'이 설정됩니다.
+ ⬇️ zr Reduce folding : '폴더'에 하나를 추가하십시오.
+ zR Open all fold. 'foldlevel'을 가장 높은 접기 수준으로 설정합니다.
+ ⬇️ zn Fold none : 'foldenable'을 재설정하십시오. 모든 주름이 열립니다.
+ ⬇️ zN Fold normal : 'foldenable'을 설정하십시오. 모든 주름은 이전과 동일합니다.
+ ⬇️ zi 'foldenable'을 반전시킵니다.
+ ⬇️ [z 현재 열린 fold 시작으로 이동합니다.
+ ⬇️ ]z 현재 열린 fold의 끝으로 이동합니다.
+ ⬇️ zj 다음 fold의 시작 부분으로 아래로 이동하십시오.
+ ⬇️ zk 이전 fold의 끝으로 위로 이동하십시오.

Fold 옵션

diff --git a/src/actions/commands/actions.ts b/src/actions/commands/actions.ts
index 20b91f9..6384f34 100644
--- a/src/actions/commands/actions.ts
+++ b/src/actions/commands/actions.ts
@@ -449,7 +449,11 @@ class CommandInsertWord extends BaseCommand {
@RegisterAction
class CommandRecordMacro extends BaseCommand {
modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['q', ''], ['q', ''], ['q', '"']];
  • keys = [

  • ['q', ''],

  • ['q', ''],

  • ['q', '"'],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    const register = this.keysPressed[1];
    @@ -2296,7 +2300,10 @@ export class CommandShowCommandHistory extends BaseCommand {
    @RegisterAction
    export class CommandShowSearchHistory extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['q', '/'], ['q', '?']];
  • keys = [

  • ['q', '/'],

  • ['q', '?'],

  • ];

    private direction = SearchDirection.Forward;

@@ -3032,7 +3039,10 @@ class CommandGoForwardInChangelist extends BaseCommand {
@RegisterAction
class CommandGoStartPrevOperatedText extends BaseCommand {
modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['`', '['], ["'", '[']];
  • keys = [

  • ['`', '['],

  • ["'", '['],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3048,7 +3058,10 @@ class CommandGoStartPrevOperatedText extends BaseCommand {
    @RegisterAction
    class CommandGoEndPrevOperatedText extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['`', ']'], ["'", ']']];
  • keys = [

  • ['`', ']'],

  • ["'", ']'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3064,7 +3077,10 @@ class CommandGoEndPrevOperatedText extends BaseCommand {
    @RegisterAction
    class CommandGoLastChange extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['`', '.'], ["'", '.']];
  • keys = [

  • ['`', '.'],

  • ["'", '.'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3314,7 +3330,12 @@ class CommandNavigateLastBOL extends BaseCommand {
    @RegisterAction
    class CommandQuit extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['', 'q'], ['', ''], ['', 'c'], ['', '']];
  • keys = [

  • ['', 'q'],

  • ['', ''],

  • ['', 'c'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    new QuitCommand({}).execute();
    @@ -3326,7 +3347,10 @@ class CommandQuit extends BaseCommand {
    @RegisterAction
    class CommandOnly extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['', 'o'], ['', '']];
  • keys = [

  • ['', 'o'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    new OnlyCommand({}).execute();
    @@ -3402,7 +3426,10 @@ class MoveToLeftPane extends BaseCommand {
    @RegisterAction
    class CycleThroughPanes extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', ''], ['', 'w']];
  • keys = [

  • ['', ''],

  • ['', 'w'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3423,7 +3450,10 @@ class BaseTabCommand extends BaseCommand {
    @RegisterAction
    class VerticalSplit extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', 'v'], ['', '']];
  • keys = [

  • ['', 'v'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    vimState.postponedCodeViewChanges.push({
    @@ -3438,7 +3468,10 @@ class VerticalSplit extends BaseCommand {
    @RegisterAction
    class OrthogonalSplit extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', 's'], ['', '']];
  • keys = [

  • ['', 's'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    vimState.postponedCodeViewChanges.push({
    diff --git a/src/actions/motion.ts b/src/actions/motion.ts
    index ca96602..2fd533f 100644
    --- a/src/actions/motion.ts
    +++ b/src/actions/motion.ts
    @@ -791,7 +791,10 @@ class MoveScreenLineCenter extends MoveByScreenLine {
    @RegisterAction
    export class MoveUpByDisplayLine extends MoveByScreenLine {
    modes = [ModeName.Insert, ModeName.Normal, ModeName.Visual];

  • keys = [['g', 'k'], ['g', '']];
  • keys = [
  • ['g', 'k'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'up';
    by: CursorMoveByUnit = 'wrappedLine';
    value = 1;
    @@ -800,7 +803,10 @@ export class MoveUpByDisplayLine extends MoveByScreenLine {
    @RegisterAction
    class MoveDownByDisplayLine extends MoveByScreenLine {
    modes = [ModeName.Insert, ModeName.Normal, ModeName.Visual];
  • keys = [['g', 'j'], ['g', '']];
  • keys = [
  • ['g', 'j'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'down';
    by: CursorMoveByUnit = 'wrappedLine';
    value = 1;
    @@ -814,7 +820,10 @@ class MoveDownByDisplayLine extends MoveByScreenLine {
    @RegisterAction
    class MoveUpByScreenLineVisualLine extends MoveByScreenLine {
    modes = [ModeName.VisualLine];
  • keys = [['g', 'k'], ['g', '']];
  • keys = [
  • ['g', 'k'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'up';
    by: CursorMoveByUnit = 'line';
    value = 1;
    @@ -823,7 +832,10 @@ class MoveUpByScreenLineVisualLine extends MoveByScreenLine {
    @RegisterAction
    class MoveDownByScreenLineVisualLine extends MoveByScreenLine {
    modes = [ModeName.VisualLine];
  • keys = [['g', 'j'], ['g', '']];
  • keys = [
  • ['g', 'j'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'down';
    by: CursorMoveByUnit = 'line';
    value = 1;
    @@ -832,7 +844,10 @@ class MoveDownByScreenLineVisualLine extends MoveByScreenLine {
    @RegisterAction
    class MoveUpByScreenLineVisualBlock extends BaseMovement {
    modes = [ModeName.VisualBlock];
  • keys = [['g', 'k'], ['g', '']];
  • keys = [

  • ['g', 'k'],

  • ['g', ''],

  • ];
    doesntChangeDesiredColumn = true;

    public async execAction(position: Position, vimState: VimState): Promise<Position | IMovement> {
    @@ -848,7 +863,10 @@ class MoveUpByScreenLineVisualBlock extends BaseMovement {
    @RegisterAction
    class MoveDownByScreenLineVisualBlock extends BaseMovement {
    modes = [ModeName.VisualBlock];

  • keys = [['g', 'j'], ['g', '']];
  • keys = [

  • ['g', 'j'],

  • ['g', ''],

  • ];
    doesntChangeDesiredColumn = true;

    public async execAction(position: Position, vimState: VimState): Promise<Position | IMovement> {
    diff --git a/src/actions/plugins/sneak.ts b/src/actions/plugins/sneak.ts
    index 9284c26..e72283c 100644
    --- a/src/actions/plugins/sneak.ts
    +++ b/src/actions/plugins/sneak.ts
    @@ -7,7 +7,10 @@ import { BaseMovement, IMovement } from '../baseMotion';

@RegisterAction
export class SneakForward extends BaseMovement {

  • keys = [['s', '', ''], ['z', '', '']];
  • keys = [

  • ['s', '', ''],

  • ['z', '', ''],

  • ];

    public couldActionApply(vimState: VimState, keysPressed: string[]): boolean {
    const startingLetter = vimState.recordedState.operator === undefined ? 's' : 'z';
    @@ -46,7 +49,7 @@ export class SneakForward extends BaseMovement {

    const ignorecase =
      configuration.sneakUseIgnorecaseAndSmartcase &&
    
  •    (configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString)));
    
  •    configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString));
    
     // Check for matches
     if (ignorecase) {
    

@@ -68,7 +71,10 @@ export class SneakForward extends BaseMovement {

@RegisterAction
export class SneakBackward extends BaseMovement {

  • keys = [['S', '', ''], ['Z', '', '']];
  • keys = [

  • ['S', '', ''],

  • ['Z', '', ''],

  • ];

    public couldActionApply(vimState: VimState, keysPressed: string[]): boolean {
    const startingLetter = vimState.recordedState.operator === undefined ? 'S' : 'Z';
    @@ -106,7 +112,7 @@ export class SneakBackward extends BaseMovement {

    const ignorecase =
      configuration.sneakUseIgnorecaseAndSmartcase &&
    
  •    (configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString)));
    
  •    configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString));
    
     // Check for matches
     if (ignorecase) {
    

diff --git a/src/configuration/configuration.ts b/src/configuration/configuration.ts
index ded8494..e64450d 100644
--- a/src/configuration/configuration.ts
+++ b/src/configuration/configuration.ts
@@ -276,14 +276,24 @@ class Configuration implements IConfiguration {
@overlapSetting({
settingName: 'lineNumbers',
defaultValue: true,

  • map: new Map([['on', true], ['off', false], ['relative', false], ['interval', false]]),
  • map: new Map([
  •  ['on', true],
    
  •  ['off', false],
    
  •  ['relative', false],
    
  •  ['interval', false],
    
  • ]),
    })
    number: boolean;

@overlapSetting({
settingName: 'lineNumbers',
defaultValue: false,

  • map: new Map([['on', false], ['off', false], ['relative', true], ['interval', false]]),
  • map: new Map([
  •  ['on', false],
    
  •  ['off', false],
    
  •  ['relative', true],
    
  •  ['interval', false],
    
  • ]),
    })
    relativenumber: boolean;

diff --git a/src/state/recordedState.ts b/src/state/recordedState.ts
index 322521e..1ceee1f 100644
--- a/src/state/recordedState.ts
+++ b/src/state/recordedState.ts
@@ -167,7 +167,7 @@ export class RecordedState {
mode !== ModeName.SearchInProgressMode &&
mode !== ModeName.CommandlineInProgress &&
(this.hasRunAMovement ||

  •    (mode === ModeName.Visual || mode === ModeName.VisualLine) ||
    
  •    mode === ModeName.Visual || mode === ModeName.VisualLine ||
       (this.operators.length > 1 &&
         this.operators.reverse()[0].constructor === this.operators.reverse()[1].constructor))
    
    );
    diff --git a/test/actions/baseAction.test.ts b/test/actions/baseAction.test.ts
    index ddd01a0..4172c8a 100644
    --- a/test/actions/baseAction.test.ts
    +++ b/test/actions/baseAction.test.ts
    @@ -12,7 +12,10 @@ class TestAction1D extends BaseAction {
    }

class TestAction2D extends BaseAction {

  • keys = [['a', 'b'], ['c', 'd']];
  • keys = [
  • ['a', 'b'],
  • ['c', 'd'],
  • ];
    modes = [ModeName.Normal];
    }

@@ -36,7 +39,14 @@ suite('base action', () => {
[[['a'], ['b']], ['c'], false],
[['a', 'b'], ['a', 'b'], true],
[['a', 'b'], ['a', 'c'], false],

  •  [[['a', 'b'], ['c', 'd']], ['c', 'd'], true],
    
  •  [
    
  •    [
    
  •      ['a', 'b'],
    
  •      ['c', 'd'],
    
  •    ],
    
  •    ['c', 'd'],
    
  •    true,
    
  •  ],
     [[''], ['a'], false],
     [['<Esc>'], ['<Esc>'], true],
    
    ];
    diff --git a/test/jumpTracker.test.ts b/test/jumpTracker.test.ts
    index 1da5fb0..2e89e5a 100644
    --- a/test/jumpTracker.test.ts
    +++ b/test/jumpTracker.test.ts
    @@ -170,7 +170,13 @@ suite('Record and navigate jumps', () => {
    // Note the column number was preserved for newer jump when it found duplicates on a line.
    assert.deepEqual(
    jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),
  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1'], [3, 5, 'file1'], [4, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •      [3, 5, 'file1'],
    
  •      [4, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting two lines`
     );
    

@@ -183,7 +189,12 @@ suite('Record and navigate jumps', () => {
// Preserve the newest jump in that case
assert.deepEqual(
jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),

  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1'], [3, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •      [3, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting another line`
     );
    

@@ -195,7 +206,11 @@ suite('Record and navigate jumps', () => {
// If you delete lines such that jumps are past EOF, delete the jumps
assert.deepEqual(
jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),

  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting all lines in file`
     );
    

    });
    diff --git a/test/testSimplifier.ts b/test/testSimplifier.ts
    index ba6176e..52a8e29 100644
    --- a/test/testSimplifier.ts
    +++ b/test/testSimplifier.ts
    @@ -27,7 +27,10 @@ export function getTestingFunctions() {

    test(testObj.title, async () =>
    testIt

  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

@@ -42,7 +45,10 @@ export function getTestingFunctions() {

 test.only(testObj.title, async () =>
   testIt
  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

@@ -56,7 +62,10 @@ export function getTestingFunctions() {

 test.skip(testObj.title, async () =>
   testIt
  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

Prettier Failed. Run [12:22:41] Using gulpfile ~/build/VSCodeVim/Vim/gulpfile.js
[12:22:41] Starting 'forceprettier'...
[12:22:57] Finished 'forceprettier' after 16 s and commit changes to resolve.


</details>


###### TravisBuddy Request Identifier: a7245420-0c59-11ea-9489-798921b627f8

before
RoadMap Korea version
@TravisBuddy
Copy link

Travis tests have failed

Hey @DokyungHwang,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

Node.js: 8

View build log

if [[ $(git diff-index HEAD -- *.js *.ts *.md) ]]; then git diff; echo "Prettier Failed. Run `gulp forceprettier` and commit changes to resolve."; exit 1; fi
diff --git a/Korea/CODE_OF_CONDUCT.md b/Korea/CODE_OF_CONDUCT.md
index 81de4ec..de2aea7 100644
--- a/Korea/CODE_OF_CONDUCT.md
+++ b/Korea/CODE_OF_CONDUCT.md
@@ -7,7 +7,7 @@
 ## 우리의 책임
 
 프로젝트 매니저(Project Maintainer)는 다음과 같은 권리와 책임을 가지고 있습니다.
- 기여활동에 대해 삭제/편집 혹은 코멘트,커밋,코드작성,위키수정,이슈보고, 그리고 기타 규율을 지키지 않는 기여활동에 대해
+기여활동에 대해 삭제/편집 혹은 코멘트,커밋,코드작성,위키수정,이슈보고, 그리고 기타 규율을 지키지 않는 기여활동에 대해
 또한 임시/영구적으로 부적절한 행동을하고, 공격적으로 타인을 대하거나, 해로운 짓을 하는 사람을 추방(ban)할 수 있습니다.
 
 프로젝트 매니저는 다음 사항에 대한 수행 권리와 책임을 가지고 있습니다.
diff --git a/Korea/CONTRIBUTING.md b/Korea/CONTRIBUTING.md
index fa2fc59..f077ff9 100644
--- a/Korea/CONTRIBUTING.md
+++ b/Korea/CONTRIBUTING.md
@@ -6,7 +6,7 @@ VSCodeVim을 개선하는 데 도움을 주셔서 감사합니다! :clap:
 
 ## 이슈 제출
 
-[GitHub 이슈 트래커](https://github.com/VSCodeVim/Vim/issues)는 버그 및 개선 제안 추적에 선호되는 채널입니다. 
+[GitHub 이슈 트래커](https://github.com/VSCodeVim/Vim/issues)는 버그 및 개선 제안 추적에 선호되는 채널입니다.
 새로운 버그 리포트를 생성 할 때 :
 
 - 다른 사람이 이미 문제를보고했거나 아이디어를 요청했는지 확인하려면 기존 문제를 검색하십시오.
@@ -86,7 +86,7 @@ PR을 제출할 때 PR이 열릴 때 GitHub에서 제공하는 템플릿을 작
 
 #### vscode.window.onDidChangeTextEditorSelection
 
-이것은 클릭 이벤트 기반 API가없는 IDE에서 클릭 이벤트를 시뮬레이트하는 나의 핵입니다 (아직?). 방금 들어온 선택 항목을 확인하여 이전에 상태 시스템을 마지막으로 업데이트했을 때 선택 항목을 설정했다고 생각한 것과 같은지 확인합니다. 그렇지 않은 경우 사용자가 클릭했을 수 있습니다. (그러나 아마도 또한  탭을 완성 할 수도있었습니다!)
+이것은 클릭 이벤트 기반 API가없는 IDE에서 클릭 이벤트를 시뮬레이트하는 나의 핵입니다 (아직?). 방금 들어온 선택 항목을 확인하여 이전에 상태 시스템을 마지막으로 업데이트했을 때 선택 항목을 설정했다고 생각한 것과 같은지 확인합니다. 그렇지 않은 경우 사용자가 클릭했��� 수 있습니다. (그러나 아마도 또한 탭을 완성 할 수도있었습니다!)
 
 ## 배포
 
diff --git a/Korea/README.md b/Korea/README.md
index e233dea..c0e76ed 100644
--- a/Korea/README.md
+++ b/Korea/README.md
@@ -6,7 +6,7 @@
 [![https://travis-ci.org/VSCodeVim/Vim](https://travis-ci.org/VSCodeVim/Vim.svg?branch=master)](https://travis-ci.org/VSCodeVim/Vim)
 [![https://vscodevim.herokuapp.com/](https://img.shields.io/badge/vscodevim-slack-blue.svg?logo=slack)](https://vscodevim.herokuapp.com/)
 
-VSCodeVim은  [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim emulation입니다.
+VSCodeVim은 [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim emulation입니다.
 
 - 🚚 지원되는 Vim 기능의 전체 목록은 [로드맵]을 참조하십시오.(ROADMAP.md).
 - 📃 [변경된 로그](CHANGELOG.md)에는 릴리스 간 주요 / 주요 / 최소 업데이트가 요약되어 있습니다.
@@ -44,7 +44,7 @@ VSCodeVim은  [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim
 
 ## 💾 설치
 
-VSCodeVim은 VS Code를  [설치](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) 하고 다시로드 한 후에 자동으로 활성화됩니다.
+VSCodeVim은 VS Code를 [설치](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) 하고 다시로드 한 후에 자동으로 활성화됩니다.
 
 > :warning: Vimscript는 지원되지 않습니다. 따라서 `.vimrc`를로드하거나 `.vim` vim 플러그인을 사용할 수 없습니다. [설정](#settings)과 [Emulated plugins](#-emulated-plugins)을 사용하여 이것을 복제해야합니다.
 
@@ -108,7 +108,7 @@ $ defaults delete -g ApplePressAndHoldEnabled
 
 이 설정은 VSCodeVim에만 적용됩니다.
 
-| 셋팅                          | 설명                                                                                                                                                                                                                                                                                                                                                                                                                      | 타입    | 기본값                         |
+| 셋팅                             | 설명                                                                                                                                                                                                                                                                                                                                                                                                                             | 타입    | 기본값                                |
 | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------- |
 | vim.changeWordIncludesWhitespace | Include trailing whitespace when changing word. This configures the <kbd>cw</kbd> action to act consistently as its siblings (<kbd>yw</kbd> and <kbd>dw</kbd>) instead of acting as <kbd>ce</kbd>.                                                                                                                                                                                                                               | Boolean | false                                 |
 | vim.cursorStylePerMode._{Mode}_  | Configure a specific cursor style for _{Mode}_. Omitted modes will use [default cursor type](https://github.com/VSCodeVim/Vim/blob/4a6fde6dbd4d1fac1f204c0dc27c32883651ef1a/src/mode/mode.ts#L34) Supported cursors: line, block, underline, line-thin, block-outline, and underline-thin.                                                                                                                                       | String  | None                                  |
@@ -135,12 +135,12 @@ $ defaults delete -g ApplePressAndHoldEnabled
 Ex-command에 neovim을 활용하려면,
 
 1.  [neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim)을 설치하세요
-2. 다음 구성을 수정하세요:
+2.  다음 구성을 수정하세요:
 
-| 환경          | 설명                    | 타입    | 기본 값 |
-| ---------------- | ------------------------------ | ------- | ------------- |
-| vim.enableNeovim |  Neovim 활성화                  | Boolean | false         |
-| vim.neovimPath   | neovim 실행 파일의 전체 경로 | String  |               |
+| 환경             | 설명                         | 타입    | 기본 값 |
+| ---------------- | ---------------------------- | ------- | ------- |
+| vim.enableNeovim | Neovim 활성화                | Boolean | false   |
+| vim.neovimPath   | neovim 실행 파일의 전체 경로 | String  |         |
 
 neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 있습니다:
 
@@ -190,7 +190,7 @@ neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 
     ]

-- <leader>m 을 바인드하여 책갈피를 추가하고 <leader>b를 사용하여 모든 책갈피 목록을 여십시오 (북마크 확장자 사용):
+- <leader>m 을 바인드하여 책갈피를 추가하고 <leader>b를 사용하여 모든 책갈피 목록을 여십시오 (북마크 확장자 사용):

    "vim.normalModeKeyBindingsNonRecursive": [
@@ -303,7 +303,7 @@ neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 
#### `"vim.insertModeKeyBindingsNonRecursive"`/`"normalModeKeyBindingsNonRecursive"`/`"visualModeKeyBindingsNonRecursive"`

- 비 재귀 키 바인딩은 삽입, 일반 및 시각적 모드에 사용하도록 재정의합니다.
-- _예:_  `j` 를 `gj`에 바인드하십시오.이 바인딩을 정상적으로 시도하면 gj의 j는 계속해서 gj로 확장됩니다. insertModeKeyBindingsNonRecursive 및 / 또는 normalModeKeyBindingNonRecursive를 사용하여이 순환 확장을 중지하십시오.
+- _예:_ `j` 를 `gj`에 바인드하십시오.이 바인딩을 정상적으로 시도하면 gj의 j는 계속해서 gj로 확장됩니다. insertModeKeyBindingsNonRecursive 및 / 또는 normalModeKeyBindingNonRecursive를 사용하여이 순환 확장을 중지하십시오.

```json
    "vim.normalModeKeyBindingsNonRecursive": [
@@ -350,20 +350,20 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니
3.  VS Code 설정
4.  VSCodeVim 기본 값

-| 환경          | 설명                                                                                                                                                                                                                                                           | 타입    | 기본 값 |
-| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------- |
-| vim.autoindent   | 새 줄을 시작할 때 현재 줄에서 들여 쓰기                                                                                                                                                                                                               | Boolean | true          |
-| vim.hlsearch     | 현재 검색과 일치하는 모든 텍스트를 강조 표시합니다                                                                                                                                                                                                                          | Boolean | false         |
-| vim.ignorecase   | 검색 패턴에서 대소 문자 무시                                                                                                                                                                                                                          | Boolean | true          |
-| vim.incsearch    | 검색을 입력하는 동안 다음 매치 표시                                                                                                                                                                                                                           | Boolean | true          |
-| vim.leader       | 키 재 매핑에 사용될`<leader>`의 키를 정의합니다                                                                                                                                                                                                               | String  | `\`           |
-| vim.showcmd      | 상태 표시 줄에 (부분) 명령 표시                                                                                                                                                                                                                     | Boolean | true          |
-| vim.showmodename | 상태 표시 줄에 현재 모드 이름 표시                                                                                                                                                                                                                           | Boolean | true          |
-| vim.smartcase    | 검색 패턴에 대문자가 포함 된 경우 '무시'설정을 대체하십시오.                                                                                                                                                                                     | Boolean | true          |
-| vim.textwidth    | `gq`를 사용할 때 너비를 자동 줄 바꿈                                                                                                                                                                                                                                    | Number  | 80            |
-| vim.timeout      | 재 매핑 된 명령에 대한 시간 초과 (밀리 초)                                                                                                                                                                                                                      | Number  | 1000          |
-| vim.whichwrap    | 줄의 시작과 끝에서 줄 바꿈을 제어합니다. 다음 / 이전 행으로 줄 바꿈해야하는 쉼표로 구분 된 키 집합입니다. 화살표 키는 삽입 모드에서 `[`  및  `]` 로 표시되며 일반 및 시각적 모드에서는`<` 및  `>` 로 표시됩니다. "everything"을 감싸려면 이것을`h,l,<,>,[,]`로 설정하십시오. | String  | ``            |
-| vim.report       |라인 수 보고에 대한 임계 값이 변경되었습니다.                                                                                                                                                                                                                     | Number  | 2             |
+| 환경             | 설명                                                                                                                                                                                                                                                                      | 타입    | 기본 값 |
+| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------- |
+| vim.autoindent   | 새 줄을 시작할 때 현재 줄에서 들여 쓰기                                                                                                                                                                                                                                   | Boolean | true    |
+| vim.hlsearch     | 현재 검색과 일치하는 모든 텍스트를 강조 표시합니다                                                                                                                                                                                                                        | Boolean | false   |
+| vim.ignorecase   | 검색 패턴에서 대소 문자 무시                                                                                                                                                                                                                                              | Boolean | true    |
+| vim.incsearch    | 검색을 입력하는 동안 다음 매치 표시                                                                                                                                                                                                                                       | Boolean | true    |
+| vim.leader       | 키 재 매핑에 사용될`<leader>`의 키를 정의합니다                                                                                                                                                                                                                           | String  | `\`     |
+| vim.showcmd      | 상태 표시 줄에 (부분) 명령 표시                                                                                                                                                                                                                                           | Boolean | true    |
+| vim.showmodename | 상태 표시 줄에 현재 모드 이름 표시                                                                                                                                                                                                                                        | Boolean | true    |
+| vim.smartcase    | 검색 패턴에 대문자가 포함 된 경우 '무시'설정을 대체하십시오.                                                                                                                                                                                                              | Boolean | true    |
+| vim.textwidth    | `gq`를 사용할 때 너비를 자동 줄 바꿈                                                                                                                                                                                                                                      | Number  | 80      |
+| vim.timeout      | 재 매핑 된 명령에 대한 시간 초과 (밀리 초)                                                                                                                                                                                                                                | Number  | 1000    |
+| vim.whichwrap    | 줄의 시작과 끝에서 줄 바꿈을 제어합니다. 다음 / 이전 행으로 줄 바���해야하는 쉼표로 구분 된 키 집합입니다. 화살표 키는 삽입 모드에서 `[` 및 `]` 로 표시되며 일반 및 시각적 모드에서는`<` 및 `>` 로 표시됩니다. "everything"을 감싸려면 이것을`h,l,<,>,[,]`로 설정하십시오. | String  | ``      |
+| vim.report       | 라인 수 보고에 대한 임계 값이 변경되었습니다.                                                                                                                                                                                                                             | Number  | 2       |

## 🖱️ 멀티커서모드

@@ -372,7 +372,7 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니
다음으로 다중 커서 모드로 들어갑니다:

- On OSX, `cmd-d`. On Windows, `ctrl-d`.
-- `gb` `cmd-d` (OSX) 또는 `ctrl-d`  (Windows)에 해당하는 새로운 바로 가기가 추가되었습니다. 다음 단어에 커서가 현재있는 단어와 일치하는 다른 커서를 추가합니다.
+- `gb` `cmd-d` (OSX) 또는 `ctrl-d` (Windows)에 해당하는 새로운 바로 가기가 추가되었습니다. 다음 단어에 커서가 현재있는 단어와 일치하는 다른 커서를 추가합니다.
- "Add Cursor Above/Below"을 실행하거나 다른 플랫폼으로 빠르게 접근하기.

커서가 여러 개 있으면 Vim 명령을 사용할 수 있습니다. 대부분 작동해야합니다. 일부는 지원되지 않습니다(참조 [PR#587](https://github.com/VSCodeVim/Vim/pull/587)).
@@ -386,7 +386,7 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니

> :warning: 이 플러그인을 사용하면 성능에 영향을 미칩니다. 상태 표시 줄을 변경하기 위해 작업 공간 settings.json의 구성을 재정 의하여 작업 디렉토리의 대기 시간이 증가하고 diff가 지속적으로 변경됩니다(참조 [이슈#2124](https://github.com/VSCodeVim/Vim/issues/2124)).

-현재 모드에 따라 상태 표시 줄의 색상을 변경하십시오. 활성화되면`"vim.statusBarColors"`를 구성하십시오. 각 모드의 색상은 `string`  (배경 만) 또는 `string[]` (배경, 전경)로 정의 할 수 있습니다.
+현재 모드에 따라 상태 표시 줄의 색상을 변경하십시오. 활성화되면`"vim.statusBarColors"`를 구성하십시오. 각 모드의 색상은 `string` (배경 만) 또는 `string[]` (배경, 전경)로 정의 할 수 있습니다.

```json
    "vim.statusBarColorControl": true,
@@ -402,24 +402,24 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니

[vim-easymotion](https://github.com/easymotion/vim-easymotion)을 기반으로하며 다음 설정을 통해 구성됩니다:

-| 환경                                    | 설명                                                                                                                                                                                                                                                       | 타입           | 기본값  |
+| 환경                                       | 설명                                                                                                                                                                                                                                                              | 타입           | 기본값         |
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- |
-| vim.easymotion                             | easymotion 플러그인 활성화 / 비활성화                                                                                                                                                                                                                                  | Boolean        | false          |
-| vim.easymotionMarkerBackgroundColor        | 마커 상자의 배경색입니다.                                                                                                                                                                                                                          |
-| vim.easymotionMarkerForegroundColorOneChar | 한 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                                                        |
-| vim.easymotionMarkerForegroundColorTwoChar | 한 문자 마커와 구별하는 데 사용되는 두 문자 마커의 글꼴 색상입니다.                                                                                                                                                                       |
-| vim.easymotionMarkerWidthPerChar           | 각 문자에 할당 된 너비 (픽셀)입니다.                                                                                                                                                                                                                 |
-| vim.easymotionMarkerHeight                 |마커의 높이입니다.                                                                                                                                                                                                                                       |
-| vim.easymotionMarkerFontFamily             | 마커 텍스트에 사용 된 글꼴 모음입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerFontSize               | 마커 텍스트에 사용되는 글꼴 크기입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerFontWeight             | 마커 텍스트에 사용 된 글꼴 굵기입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerYOffset                | 마커 상단과 텍스트 사이의 거리 (일반적으로 높이 또는 글꼴 크기가 변경된 경우 약간의 조정이 필요함).                                                                                                                           |
-| vim.easymotionKeys                         | 점프 마커 이름에 사용되는 문자                                                                                                                                                                                                                          |
+| vim.easymotion                             | easymotion 플러그인 활성화 / 비활성화                                                                                                                                                                                                                             | Boolean        | false          |
+| vim.easymotionMarkerBackgroundColor        | 마커 상자의 배경색입니다.                                                                                                                                                                                                                                         |
+| vim.easymotionMarkerForegroundColorOneChar | 한 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                                                                   |
+| vim.easymotionMarkerForegroundColorTwoChar | 한 문자 마커와 구별하는 데 사용되는 두 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                               |
+| vim.easymotionMarkerWidthPerChar           | 각 문자에 할당 된 너비 (픽셀)입니다.                                                                                                                                                                                                                              |
+| vim.easymotionMarkerHeight                 | 마커의 높이입니다.                                                                                                                                                                                                                                                |
+| vim.easymotionMarkerFontFamily             | 마커 텍스트에 사용 된 글꼴 모음입니다.                                                                                                                                                                                                                            |
+| vim.easymotionMarkerFontSize               | 마커 텍스트에 사용되는 글꼴 크기입니다.                                                                                                                                                                                                                           |
+| vim.easymotionMarkerFontWeight             | 마커 텍스트에 사용 된 글꼴 굵기입니다.                                                                                                                                                                                                                            |
+| vim.easymotionMarkerYOffset                | 마커 상단과 텍스트 사이의 거리 (일반적으로 높이 또는 글꼴 크기가 변경된 경우 약간의 조정이 필요함).                                                                                                                                                               |
+| vim.easymotionKeys                         | 점프 마커 이름에 사용되는 문자                                                                                                                                                                                                                                    |
| vim.easymotionJumpToAnywhereRegex          | Custom regex to match for JumpToAnywhere motion (analogous to `Easymotion_re_anywhere`). Example setting (which also matches start & end of line, as well as Javascript comments in addition to the regular behavior (note the double escaping required): ^\\s\*. | \\b[A-Za-z0-9] | [A-Za-z0-9]\\b | \_. | \\#. | [a-z][a-z] | // | .\$" |

easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하십시오. 모션을 시작하면 텍스트 데코레이터 / 마커가 표시되며 표시된 키를 눌러 해당 위치로 이동할 수 있습니다. `leader`는 설정이 가능하며 기본적으로`\` 입니다.

-| Motion 명령어                      | 설명                                                                                                 |
+| Motion 명령어                       | 설명                                                                                                        |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `<leader><leader> s <char>`         | Search character                                                                                            |
| `<leader><leader> f <char>`         | Find character forwards                                                                                     |
@@ -450,23 +450,23 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

[surround.vim](https://github.com/tpope/vim-surround)을 기반으로 플러그인은 괄호, 괄호, 따옴표 및 XML 태그와 같은 주변 문자를 처리하는 데 ���용됩니다.

-| 설정      | 설명                 | 타입    | 기본값 |
-| ------------ | --------------------------- | ------- | ------------- |
-| vim.surround | Enable/disable vim-surround | Boolean | true          |
+| 설정         | 설명                        | 타입    | 기본값 |
+| ------------ | --------------------------- | ------- | ------ |
+| vim.surround | Enable/disable vim-surround | Boolean | true   |

`<desired char>`또는`<existing char>`로`t` 또는`<`는 태그를 수행하고 태그 입력 모드로 들어갑니다. `>`대신`<CR>`을 사용하여 태그 변경을 마치면 기존 속성이 유지됩니다.

-| Surround Command                     | 설명                                                           |
+| Surround Command                     | 설명                                                                  |
| ------------------------------------ | --------------------------------------------------------------------- |
-| `d s <existing char>`                | 기존 서라운드 삭제                                              |
+| `d s <existing char>`                | 기존 서라운드 삭제                                                    |
| `c s <existing char> <desired char>` | Change surround existing to desired                                   |
| `y s <motion> <desired char>`        | Surround something with something using motion (as in "you surround") |
| `S <desired char>`                   | Surround when in visual modes (surrounds full selection)              |

몇가지 예:

-- ` 'test'`로 끝나기 위해 인용 부호 안에 cs를 입력 한`'test'`
-- `test``로 끝나는 인용 부호 ds 안에 커서가있는 "test"`
+- `'test'`로 끝나기 위해 인용 부호 안에 cs를 입력 한`'test'`
+- ` test``로 끝나는 인용 부호 ds 안에 커서가있는 "test" `
- `"test"` with cursor inside quotes type cs"t and enter 123> to end up with `<123>test</123>`
- 단어 테스트 유형 ysaw에 커서가있는`test`는`(test)`로 끝납니다.

@@ -480,11 +480,12 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하
- `gC`-블록 주석 토글. 예를 들어`gCi)`는 괄호 안의 모든 것을 주석 처리합니다.

### vim-indent-object
+
[vim-indent-object](https://github.com/michaeljsmith/vim-indent-object)를 기반으로하여 현재 들여 쓰기 수준의 코드 블록을 텍스트 객체로 처리 할 수 있습니다. 문장 주위에 중괄호를 사용하지 않는 언어 (예 : Python)에서 유용합니다.

여는 중괄호 / 태그 사이에 새로운 줄이 있다면, 그것은 무시할 수있는`cib` /`ci {`/`ci [`/`cit`로 간주 될 수 있습니다.

-| 명령어        | 설명                                                                                          |
+| 명령어         | 설명                                                                                                 |
| -------------- | ---------------------------------------------------------------------------------------------------- |
| `<operator>ii` | This indentation level                                                                               |
| `<operator>ai` | This indentation level and the line above (think `if` statements in Python)                          |
@@ -494,14 +495,14 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

[vim-sneak](https://github.com/justinmk/vim-sneak)를 기반으로 두 문자로 지정된 위치로 이동할 수 있습니다.

-| 환경                            | 설명                                                 | 타입    | 기본 값 |
-| ---------------------------------- | ----------------------------------------------------------- | ------- | ------------- |
-| vim.sneak                          | Enable/disable vim-sneak                                    | Boolean | false         |
-| vim.sneakUseIgnorecaseAndSmartcase | Respect `vim.ignorecase` and `vim.smartcase` while sneaking | Boolean | false         |
+| 환경                               | 설명                                                        | 타입    | 기본 값 |
+| ---------------------------------- | ----------------------------------------------------------- | ------- | ------- |
+| vim.sneak                          | Enable/disable vim-sneak                                    | Boolean | false   |
+| vim.sneakUseIgnorecaseAndSmartcase | Respect `vim.ignorecase` and `vim.smartcase` while sneaking | Boolean | false   |

몰래 활성화되면 다음 명령을 사용하여 모션을 시작하십시오. 연산자 sneak은`s` 대신`z`를 사용합니다. `s`는 이미 서라운드 플러그인에 의해 사용되기 때문입니다.

-| Motion 명령            | 설명                                                             |
+| Motion 명령               | 설명                                                                    |
| ------------------------- | ----------------------------------------------------------------------- |
| `s<char><char>`           | Move forward to the first occurrence of `<char><char>`                  |
| `S<char><char>`           | Move backward to the first occurrence of `<char><char>`                 |
@@ -510,15 +511,15 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

### CamelCaseMotion

-정확한 에뮬레이션은 아니지만  [CamelCaseMotion](https://github.com/bkad/CamelCaseMotion)을 기반으로합니다. 이 플러그인은 camelCase 및 snake_case 단어를 쉽게 이동할 수있는 방법을 제공합니다.
+정확한 에뮬레이션은 아니지만 [CamelCaseMotion](https://github.com/bkad/CamelCaseMotion)을 기반으로합니다. 이 플러그인은 camelCase 및 snake_case 단어를 쉽게 이동할 수있는 방법을 제공합니다.

-| 환경                    | 설명                    | 타입    | 기본 값 |
-| -------------------------- | ------------------------------ | ------- | ------------- |
-| vim.camelCaseMotion.enable | Enable/disable CamelCaseMotion | Boolean | false         |
+| 환경                       | 설명                           | 타입    | 기본 값 |
+| -------------------------- | ------------------------------ | ------- | ------- |
+| vim.camelCaseMotion.enable | Enable/disable CamelCaseMotion | Boolean | false   |

CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.

-| Motion 명령어         | 설명                                                                |
+| Motion 명령어          | 설명                                                                       |
| ---------------------- | -------------------------------------------------------------------------- |
| `<leader>w`            | Move forward to the start of the next camelCase or snake_case word segment |
| `<leader>e`            | Move forward to the next end of a camelCase or snake_case word segment     |
@@ -531,7 +532,7 @@ CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.

삽입 모드를 종료 할 때 입력 방법을 비활성화하십시오.

-| 환경                                 | 설명                                                                                      |
+| 환경                                    | 설명                                                                                             |
| --------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `vim.autoSwitchInputMethod.enable`      | Boolean denoting whether autoSwitchInputMethod is on/off.                                        |
| `vim.autoSwitchInputMethod.defaultIM`   | Default input method.                                                                            |
@@ -541,68 +542,67 @@ CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.
모든 타사 프로그램을 사용하여 입력 방법을 전환 할 수 있습니다. 다음은 [im-select](https://github.com/daipeihust/im-select)를 사용하여 구성을 안내합니다..

1. im-select 설치하기 (참조 [installation guide](https://github.com/daipeihust/im-select#installation))
-1.  기본 입력 방법 키 찾기
+1. 기본 입력 방법 키 찾기

-    - Mac:
+   - Mac:

-      입력 방법을 영어로 전환하고 터미널에서 `/<path-to-im-select-installation>/im-select` 를 실행하여 기본 입력 방법을 출력하십시오. 아래 표에는 MacOS의 일반적인 영어 키 레이아웃이 나와 있습니다.
+     입력 방법을 영어로 전환하고 터미널에서 `/<path-to-im-select-installation>/im-select` 를 실행하여 기본 입력 방법을 출력하십시오. 아래 표에는 MacOS의 일반적인 영어 키 레이아웃이 나와 있습니다.

-      | Key                            | 설명 |
-      | ------------------------------ | ----------- |
-      | com.apple.keylayout.US         | U.S.        |
-      | com.apple.keylayout.ABC        | ABC         |
-      | com.apple.keylayout.British    | British     |
-      | com.apple.keylayout.Irish      | Irish       |
-      | com.apple.keylayout.Australian | Australian  |
-      | com.apple.keylayout.Dvorak     | Dvorak      |
-      | com.apple.keylayout.Colemak    | Colemak     |
+     | Key                            | 설명       |
+     | ------------------------------ | ---------- |
+     | com.apple.keylayout.US         | U.S.       |
+     | com.apple.keylayout.ABC        | ABC        |
+     | com.apple.keylayout.British    | British    |
+     | com.apple.keylayout.Irish      | Irish      |
+     | com.apple.keylayout.Australian | Australian |
+     | com.apple.keylayout.Dvorak     | Dvorak     |
+     | com.apple.keylayout.Colemak    | Colemak    |

-    - Windows:
+   - Windows:

-      입력 방법 키를 검색하는 방법은[im-select guide](https://github.com/daipeihust/im-select#to-get-current-keyboard-locale) 안내서를 참조하십시오.  일반적으로 키보드 레이아웃이 en_US 인 경우 입력 방법 키는 1033 (en_US의 로캘 ID)입니다. `LCID Decimal`열이 로컬 ID인 [이 페이지](https://www.science.co.il/language/Locale-codes.php)에서 로컬 ID를 찾을 수도 있습니다.
+     입력 방법 키를 검색하는 방법은[im-select guide](https://github.com/daipeihust/im-select#to-get-current-keyboard-locale) 안내서를 참조하십시오. 일반적으로 키보드 레이아웃이 en_US 인 경우 입력 방법 키는 1033 (en_US의 로캘 ID)입니다. `LCID Decimal`열이 로컬 ID인 [이 페이지](https://www.science.co.il/language/Locale-codes.php)에서 로컬 ID를 찾을 수도 있습니다.

-1.  Configure `vim.autoSwitchInputMethod`.
+1. Configure `vim.autoSwitchInputMethod`.

-    - MacOS:
+   - MacOS:

-       `com.apple.keylayout.US` 과 `im-select` 은  `/usr/local/bin`에 있다. 구성은 다음과 같다.:
+     `com.apple.keylayout.US` 과 `im-select` 은 `/usr/local/bin`에 있다. 구성은 다음과 같다.:

-      ```json
-      "vim.autoSwitchInputMethod.enable": true,
-      "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US",
-      "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
-      "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
-      ```
+     ```json
+     "vim.autoSwitchInputMethod.enable": true,
+     "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US",
+     "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
+     "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
+     ```

-    - Windows:
+   - Windows:

-       `1033`  (en_US)과 `im-select.exe` 의 입력 방법 키는`D:/bin`에 있습니다. 구성은 다음과 같습니다:
+     `1033` (en_US)과 `im-select.exe` 의 입력 방법 키는`D:/bin`에 있습니다. 구성은 다음과 같습니다:

-      ```json
-      "vim.autoSwitchInputMethod.enable": true,
-      "vim.autoSwitchInputMethod.defaultIM": "1033",
-      "vim.autoSwitchInputMethod.obtainIMCmd": "D:\\bin\\im-select.exe",
-      "vim.autoSwitchInputMethod.switchIMCmd": "D:\\bin\\im-select.exe {im}"
-      ```
+     ```json
+     "vim.autoSwitchInputMethod.enable": true,
+     "vim.autoSwitchInputMethod.defaultIM": "1033",
+     "vim.autoSwitchInputMethod.obtainIMCmd": "D:\\bin\\im-select.exe",
+     "vim.autoSwitchInputMethod.switchIMCmd": "D:\\bin\\im-select.exe {im}"
+     ```

위의`{im}`인수는 입력 방법을 나타내는 `im-select` 에 전달되는 명령 행 옵션입니다. 대체 프로그램을 사용하여 입력 방법을 전환하는 경우 유사한 옵션을 구성에 추가해야합니다. 예를 들어, 입력 방법을 전환하기 위해 프로그램의 사용법이`my-program -s imKey` 인 경우,`vim.autoSwitchInputMethod.switchIMCmd` 는 `/path/to/my-program -s {im}`이어야합니다.

-
### ReplaceWithRegister

- [ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister)를 기반으로 기존 텍스트를 레지스터의 내용으로 쉽게 바꿀 수 있습니다.
+[ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister)를 기반으로 기존 텍스트를 레지스터의 내용으로 쉽게 바꿀 수 있습니다.

-| 환경                 | 설명                        | 타입    | 기본 값 |
-| ----------------------- | ---------------------------------- | ------- | ------------- |
-| vim.replaceWithRegister | Enable/disable ReplaceWithRegister | Boolean | false         |
+| 환경                    | 설명                               | 타입    | 기본 값 |
+| ----------------------- | ---------------------------------- | ------- | ------- |
+| vim.replaceWithRegister | Enable/disable ReplaceWithRegister | Boolean | false   |

-활성화되면`gr`  (예 : "go replace")을 입력 한 다음 레지스터 내용으로 대체하려는 텍스트를 설명하는 동작을 입력하십시오.
+활성화되면`gr` (예 : "go replace")을 입력 한 다음 레지스터 내용으로 대체하려는 텍스트를 설명하는 동작을 입력하십시오.

-| Motion 명령어          | 설명                                                                             |
-| ----------------------- | --------------------------------------------------------------------------------------- |
-| `[count]["a]gr<motion>` |모션에 설명 된 텍스트를 지정된 레지스터의 내용으로 바꿉니다.   |
-| `[count]["a]grr`        |  \[count\] 줄 또는 현재 줄을 지정된 레지스터의 내용으로 바꿉니다.|
-| `{Visual}["a]gr`        | 선택한 레지스터를 지정된 레지스터의 내용으로 바꿉니다.       |
+| Motion 명령어           | 설명                                                             |
+| ----------------------- | ---------------------------------------------------------------- |
+| `[count]["a]gr<motion>` | 모션에 설명 된 텍스트를 지정된 레지스터의 내용으로 바꿉니다.     |
+| `[count]["a]grr`        | \[count\] 줄 또는 현재 줄을 지정된 레지스터의 내용으로 바꿉니다. |
+| `{Visual}["a]gr`        | 선택한 레지스터를 지정된 레지스터의 내용으로 바꿉니다.           |

## 🎩 VSCodeVim 트릭!

@@ -628,35 +628,35 @@ VSCode에는 멋진 트릭이 많이 있으며 그 중 일부를 보존하려고

  당신은 Mac유저 입니까? [mac-setup](#mac) 지침을 살펴 보셨습니까?

--  `<esc>`로 닫을 수없는 성가신 정보 / 알림 / 팝업이 있습니다! ! 그리고 나는 단편적인 지식 밖에 없어 좀 더 알고 싶습니다.
+- `<esc>`로 닫을 수없는 성가신 정보 / 알림 / 팝업이 있습니다! ! 그리고 나는 단편적인 지식 밖에 없어 좀 더 알고 싶습니다.

-  `shift+<esc>` 를 눌러 모든 상자를 닫으십���오.
+`shift+<esc>` 를 눌러 모든 상자를 닫으십시오.

- Zen 모드 또는 상태 표시 줄이 비활성화 된 경우 명령 줄을 사용하려면 어떻게해야합니까?

-   이 확장 기능은 재 맵핑 가능한 명령을 표시하여 vscode 스타일의 빠른 선택, 제한된 기능 버전의 명령 줄을 보여줍니다. VS 코드의 keybindings.json 설정 파일에서 다음과 같이 다시 매핑 할 수 있습니다.
+이 확장 기능은 재 맵핑 가능한 명령을 표시하여 vscode 스타일의 빠른 선택, 제한된 기능 버전의 명령 줄을 보여줍니다. VS 코드의 keybindings.json 설정 파일에서 다음과 같이 다시 매핑 할 수 있습니다.

-  ```json
-  {
-    "key": "shift+;",
-    "command": "vim.showQuickpickCmdLine",
-    "when": "editorTextFocus && vim.mode != 'Insert'"
-  }
-  ```
+```json
+{
+  "key": "shift+;",
+  "command": "vim.showQuickpickCmdLine",
+  "when": "editorTextFocus && vim.mode != 'Insert'"
+}
+```

-  Or for Zen mode only:
+Or for Zen mode only:

-  ```json
-  {
-    "key": "shift+;",
-    "command": "vim.showQuickpickCmdLine",
-    "when": "inZenMode && vim.mode != 'Insert'"
-  }
-  ```
+```json
+{
+  "key": "shift+;",
+  "command": "vim.showQuickpickCmdLine",
+  "when": "inZenMode && vim.mode != 'Insert'"
+}
+```

- 단어 줄 바꿈을 사용하여 각 표시 줄에서 커서를 어떻게 이동합니까?

-  단어 줄 바꿈이 있고<kbd>j</kbd>, <kbd>k</kbd>, <kbd>↓</kbd> 또는 <kbd>↑</kbd>를 사용할 때 커서가 줄 바꿈 된 각 줄에 들어가도록하려면  keybindings.json 설정 파일에서 다음을 설정하십시오.
+  단어 줄 바꿈이 있고<kbd>j</kbd>, <kbd>k</kbd>, <kbd>↓</kbd> 또는 <kbd>↑</kbd>를 사용할 때 커서가 줄 바꿈 된 각 줄에 들어가도록하려면 keybindings.json 설정 파일에서 다음을 설정하십시오.

  <!-- prettier-ignore -->
  ```json
diff --git a/Korea/STYLE.md b/Korea/STYLE.md
index 8e359a6..8ff950d 100644
--- a/Korea/STYLE.md
+++ b/Korea/STYLE.md
@@ -17,7 +17,7 @@
- `const`를 사용할 수 없다면, `let`을 사용하십시오; 절대 `var`은 안됩니다.

  **이론적 근거:** `var`은 많은 경우 프로그래머를 trips합니다 - hoisting and closure capture는 두 가지 큰 요소입니다.
-차이점을 고려하십시오.
+  차이점을 고려하십시오.

for (var j = 0; j < 5; j++) { setTimeout(() => console.log(j), 5) }
diff --git a/ROADMAP.md b/ROADMAP.md
index a7bb6ea..aaec352 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -18,24 +18,24 @@

이들은 Vim의 큰 기능으로, 일반적���로 구현할 순서대로되어 있습니다.

- Status Command
- 일반 모드
- 삽입 모드
- 비주얼 모드
- 비주얼 라인 모드
- 숫자 접두사
- . 연산자
- / 과 ? 로 검색
- 실행 취소 / 재실행
- ⚠️ 명령 재 매핑
- ⚠️ 마크
- 텍스트 객체
- 비주얼 블록 모드
- 교체 모드
- 다중 선택 모드
- ⚠️ 매크로
- ⚠️ Buffer/Window/Tab
+ Status Command
+ ------------------ ------------------
+ 일반 모드
+ 삽입 모드
+ 비주얼 모드
+ 비주얼 라인 모드
+ 숫자 접두사
+ . 연산자
+ / 과 ? 로 검색
+ 실행 취소 / 재실행
+ ⚠️ 명령 재 매핑
+ ⚠️ 마크
+ 텍스트 객체
+ 비주얼 블록 모드
+ 교체 모드
+ 다중 선택 모드
+ ⚠️ 매크로
+ ⚠️ Buffer/Window/Tab

이제 우리가 찾을 수있는 모든 알려진 Vim 명령의 전체 목록을 따릅니다.

@@ -46,193 +46,193 @@

좌우 동작

- Status Command Description
- 🔢 h 왼쪽 (또한 CTRL-H, BS 또는 왼쪽 키)
- 🔢 l 오른쪽 (또한 스페이스 또는 오른쪽 키)
- 0 줄의 첫 번째 문자 (또한 Home 키)
- ^ 행의 첫 번��� 공백이 아닌 문자
- 🔢 $ 줄의 마지막 문자 (N-1 줄 아래) (또한 End 키)
- g0 화면 줄의 첫 문자 (줄 바꿈시 "0"과 다름)
- g^ 화면 줄에서 공백이 아닌 첫 문자로 줄 바꾸기 (줄 바꿈시 "^"와 다름)
- 🔢 g$ 화면 줄의 마지막 문자 (줄 바꿈시 "\ $"와 다름)
- gm 화면 라인의 중간
- 🔢 | N 열까지 (기본값 : 1)
- 🔢 f{char} 오른쪽으로 {char}의 N 번째 발생
- 🔢 F{char} 왼쪽으로 {char}의 N 번째 발생
- 🔢 t{char} 오른쪽으로 {char}의 N 번째 발생 전까지
- 🔢 T{char} 왼쪽으로 {char}의 N 번째 발생 전까지
- 🔢 ; 마지막 "f", "F", "t"또는 "T"N 번 반복
- 🔢 , 반대 방향으로 마지막 "f", "F", "t"또는 "T"N 번 반복
+ Status Command Description
+ ------------------ -------------- ------------------------------------------------------------------
+ 🔢 h 왼쪽 (또한 CTRL-H, BS 또는 왼쪽 키)
+ 🔢 l 오른쪽 (또한 스페이스 또는 오른쪽 키)
+ 0 줄의 첫 번째 문자 (또한 Home 키)
+ ^ 행의 첫 번째 공백이 아닌 문자
+ 🔢 $ 줄의 마지막 문자 (N-1 줄 아래) (또한 End 키)
+ g0 화면 줄의 첫 문자 (줄 바꿈시 "0"과 다름)
+ g^ 화면 줄에서 공백이 아닌 첫 문자로 줄 바꾸기 (줄 바꿈시 "^"와 다름)
+ 🔢 g$ 화면 줄의 마지막 문자 (줄 바꿈시 "\ $"와 다름)
+ gm 화면 라인의 중간
+ 🔢 | N 열까지 (기본값 : 1)
+ 🔢 f{char} 오른쪽으로 {char}의 N 번째 발생
+ 🔢 F{char} 왼쪽으로 {char}의 N 번째 발생
+ 🔢 t{char} 오른쪽으로 {char}의 N 번째 발생 전까지
+ 🔢 T{char} 왼쪽으로 {char}의 N 번째 발생 전까지
+ 🔢 ; 마지막 "f", "F", "t"또는 "T"N 번 반복
+ 🔢 , 반대 방향으로 마지막 "f", "F", "t"또는 "T"N 번 반복

상하 동작

- Status Command Description
- 🔢 k N 줄 위로 (CTRL-P 및 Up)
- 🔢 j N 줄 아래로 (또한 CTRL-J, CTRL-N, NL 및 Down)
- 🔢 - 공백이 아닌 첫 번째 문자에서 N 줄 위로
- 🔢 + 공백이 아닌 첫 번째 문자에서 N 줄 아래로 (CTRL-M 및 CR)
- 🔢 _ 공백이 아닌 첫 번째 문자에서 N-1 줄 아래로
- 🔢 G 공백이 아닌 첫 번째 문자에서 goto 행 N (기본값 : 마지막 행)
- 🔢 gg 공백이 아닌 첫 번째 문자의 goto 행 N (기본값 : 첫 번째 행)
- 🔢 % 파일에서 N 줄 아래로 이동; N을 지정해야합니다. 그렇지 않으면 % 명령입니다.
- 🔢 gk N 화면 줄 위로 (줄 바꿈시 "k"와 다름)
- 🔢 gj N 화면 줄 아래로 (줄 바꿈시 "j"와 다름)
+ Status Command Description
+ ------------------ --------- --------------------------------------------------------------------------
+ 🔢 k N 줄 위로 (CTRL-P 및 Up)
+ 🔢 j N 줄 아래로 (또한 CTRL-J, CTRL-N, NL 및 Down)
+ 🔢 - 공백이 아닌 첫 번째 문자에서 N 줄 위로
+ 🔢 + 공백이 아닌 첫 번째 문자에서 N 줄 아래로 (CTRL-M 및 CR)
+ 🔢 _ 공백이 아닌 첫 번째 문자에서 N-1 줄 아래로
+ 🔢 G 공백이 아닌 첫 번째 문자에서 goto 행 N (기본값 : 마지막 행)
+ 🔢 gg 공백이 아닌 첫 번째 문자의 goto 행 N (기본값 : 첫 번째 행)
+ 🔢 % 파일에서 N 줄 아래로 이동; N을 지정해야합니다. 그렇지 않으면 % 명령입니다.
+ 🔢 gk N 화면 줄 위로 (줄 바꿈시 "k"와 다름)
+ 🔢 gj N 화면 줄 아래로 (줄 바꿈시 "j"와 다름)

텍스트 객체 동작

- Status Command Description
- 🔢 w 앞으로 N 단어
- 🔢 W 공백으로 분리 된 N 개의 단어 앞으로
- 🔢 e N 번째 단어의 끝까지 N 단어
- 🔢 E 공백으로 분리 된 N 번째 단어의 끝으로 N 단어 앞으로
- 🔢 b 뒤로 N 단어
- 🔢 B 공백으로 분리 된 N개의 단어 뒤로
- 🔢 ge N번째 단어의 끝까지 N단어
- 🔢 gE 공백으로 분리 된 N 번째 단어의 끝까지 N 단어
- 🔢 ) 앞으로 N 문장
- 🔢 ( 뒤로 N 문장
- 🔢 } 앞으로 N 단락
- 🔢 { 뒤로 N 단락
- 🔢 ]] 섹션 시작시 N 섹션 앞으로
- 🔢 [[ 섹션 시작시 뒤로 N 섹션
- 🔢 ][ 섹션 끝에서 N 섹션 앞으로
- 🔢 [] 섹션 끝에서 뒤로 N 섹션
- 🔢 [( 닫히지 않은 '('로 N 번
- 🔢 [{ 닫히지 않은 '{'로 N 번
- ⬇️ 🔢 [m 메소드 시작으로 다시 N 번 (Java의 경우)
- ⬇️ 🔢 [M 메소드의 끝까지 N 번 (Java의 경우)
- 🔢 ]) 닫히지 않은 ')'까지 N 번 전달
- 🔢 ]} 닫히지 않은 '}'까지 N 번 전달
- ⬇️ 🔢 ]m 메소드 시작까지 N 배 앞으로 (Java의 경우)
- ⬇️ 🔢 ]M 메소드의 끝까지 N 배 앞으로 (Java의 경우)
- ⬇️ 🔢 [# 닫히지 않은 "#if"또는 "#else"로 다시 N 번
- ⬇️ 🔢 ]# 닫히지 않은 "#else"또는 "#endif"로 N 번 전달
- ⬇️ 🔢 [* C 주석 "/ *"의 시작으로 다시 N 번
- ⬇️ 🔢 ]* C 주석 "* /"의 끝까지 N 배 앞으로
+ Status Command Description
+ ------------------ ---------- ---------------------------------------------------
+ 🔢 w 앞으로 N 단어
+ 🔢 W 공백으로 분리 된 N 개의 단어 앞으로
+ 🔢 e N 번째 단어의 끝까지 N 단어
+ 🔢 E 공백으로 분리 된 N 번째 단어의 끝으로 N 단어 앞으로
+ 🔢 b 뒤로 N 단어
+ 🔢 B 공백으로 분리 된 N개의 단어 뒤로
+ 🔢 ge N번째 단어의 끝까지 N단어
+ 🔢 gE 공백으로 분리 된 N 번째 단어의 끝까지 N 단어
+ 🔢 ) 앞으로 N 문장
+ 🔢 ( 뒤로 N 문장
+ 🔢 } 앞으로 N 단락
+ 🔢 { 뒤로 N 단락
+ 🔢 ]] 섹션 시작시 N 섹션 앞으로
+ 🔢 [[ 섹션 시작시 뒤로 N 섹션
+ 🔢 ][ 섹션 끝에서 N 섹션 앞으로
+ 🔢 [] 섹션 끝에서 뒤로 N 섹션
+ 🔢 [( 닫히지 않은 '('로 N 번
+ 🔢 [{ 닫히지 않은 '{'로 N 번
+ ⬇️ 🔢 [m 메소드 시작으로 다시 N 번 (Java의 경우)
+ ⬇️ 🔢 [M 메소드의 끝까지 N 번 (Java의 경우)
+ 🔢 ]) 닫히지 않은 ')'까지 N 번 전달
+ 🔢 ]} 닫히지 않은 '}'까지 N 번 전달
+ ⬇️ 🔢 ]m 메소드 시작까지 N 배 앞으로 (Java의 경우)
+ ⬇️ 🔢 ]M 메소드의 끝까지 N 배 앞으로 (Java의 경우)
+ ⬇️ 🔢 [# 닫히지 않은 "#if"또는 "#else"로 다시 N 번
+ ⬇️ 🔢 ]# 닫히지 않은 "#else"또는 "#endif"로 N 번 전달
+ ⬇️ 🔢 [* C 주석 "/ *"의 시작으로 다시 N 번
+ ⬇️ 🔢 ]* C 주석 "* /"의 끝까지 N 배 앞으로

패턴 검색

- Status Command Description Note
- ✅ ⭐ 🔢 /{pattern}[/[offset]]<CR> {pattern}의 N 번째 발생을 검색 현재는 JavaScript 정규식 만 지원하지만 Vim의 사내 정규식 엔진은 지원하지 않습니다.
- ✅ ⭐ 🔢 ?{pattern}[?[offset]]<CR> {pattern}의 N 번째 발생을 뒤로 검색 현재는 JavaScript 정규식 만 지원하지만 Vim의 사내 정규식 엔진은 지원하지 않습니다.
- ⚠️ 🔢 /<CR> 정방향으로 마지막 검색 반복 {count}는 지원되지 않습니다.
- ⚠️ 🔢 ?<CR> 역방향으로 마지막 검색 반복 {count}는 지원되지 않습니다.
- 🔢 n 마지막 검색 반복
- 🔢 N 반대 방향으로 마지막 검색 반복
- 🔢 * 커서 아래에서 식별자를 검색
- 🔢 # 커서 아래에서 식별자를 뒤로 검색
- 🔢 g* "*"와 비슷하지만 부분 일치도 찾습니다
- 🔢 g# "#"과 같지만 부분 일치 항목도 찾습니다.
- gd 커서 아래 식별자의 로컬 선언으로 이동
- ⬇️ gD 커서 아래에 식별자의 goto 글로벌 선언

-## 마크와

- Status Command Description
- m{a-zA-Z} {a-zA-Z} 표시로 현재 위치 표시
- `{a-z} 현재 파일에서 {a-z}로 이동
- `{A-Z} 모든 파일에서 {A-Z}로 이동
- `{0-9} Vim이 이전에 나간 위치로 이동
- `` 마지막 점프 전 위치로 이동
- ⬇️ `" 이 파일을 마지막으로 편집 할 때 위치로 이동
- `[ 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- '[ 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- `] 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- '] 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- ⬇️ `< (이전) 시각 영역의 시작으로 이동
- ⬇️ `> (이전) 시각 영역의 끝으로 이동
- `. 이 파일에서 마지막 변경 위치로 이동
- '. 이 파일에서 마지막 변경 위치로 이동
- ⬇️ '{a-zA-Z0-9[]'"<>.} `와 동일하지만 첫 번째 공백이 아닌 행
- ⬇️ :marks 활성마크를 인쇄
- 🔢 CTRL-O 점프 목록에서 N 번째 이전 위치로 이동
- 🔢 CTRL-I 점프 목록에서 N 번쨰 새로운 위치로 이동
- ⬇️ :ju[mps] 점프리스트를 인쇄
+ Status Command Description
+ ------------------------- ---------------------------------- ---------------------------------------
+ ✅ ⭐ 🔢 /{pattern}[/[offset]]<CR> {pattern}의 N 번째 발생을 검색
+ ✅ ⭐ 🔢 ?{pattern}[?[offset]]<CR> {pattern}의 N 번째 발생을 뒤로 검색
+ ⚠️ 🔢 /<CR> 정방향으로 마지막 검색 반복
+ ⚠️ 🔢 ?<CR> 역방향으로 마지막 검색 반복
+ 🔢 n 마지막 검색 반복
+ 🔢 N 반대 방향으로 마지막 검색 반복
+ 🔢 * 커서 아래에서 식별자를 검색
+ 🔢 # 커서 아래에서 식별자를 뒤로 검색
+ 🔢 g* "*"와 비슷하지만 부분 일치도 찾습니다
+ 🔢 g# "#"과 같지만 부분 일치 항목도 찾습니다.
+ gd 커서 아래 식별자의 로컬 선언으로 이동
+ ⬇️ gD 커서 아래에 식별자의 goto 글로벌 선언

+## 마크와
+
+| Status | Command | Description |
+| ------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------- |
+| ✅ | m{a-zA-Z} | {a-zA-Z} 표시로 현재 위치 표시 |
+| ✅ | {a-z} | 현재 파일에서 {a-z}로 이동 | +| :white_check_mark: | {A-Z} | 모든 파일에서 {A-Z}로 이동 |
+| ✅ | {0-9} | Vim이 이전에 나간 위치로 이동 | +| :white_check_mark: | `` | 마지막 점프 전 위치로 이동 | +| :arrow_down: | " | 이 파일을 마지막으로 편집 할 때 위치로 이동 |
+| ✅ | [ | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 | +| :white_check_mark: | '[ | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 | +| :white_check_mark: | ] | 이전에 운영 한 텍스트��� 시작으로 이동하거나 텍스트를 넣습니다 |
+| ✅ | '] | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 |
+| ⬇️ | < | (이전) 시각 영역의 시작으로 이동 | +| :arrow_down: | > | (이전) 시각 영역의 끝으로 이동 |
+| ✅ | . | 이 파일에서 마지막 변경 위치로 이동 | +| :white_check_mark: | '. | 이 파일에서 마지막 변경 위치로 이동 | +| :arrow_down: | '{a-zA-Z0-9[]'"<>.} | 와 동일하지만 첫 번째 공백이 아닌 행 |
+| ⬇️ | :marks | 활성마크를 인쇄 |
+| ✅ | 🔢 CTRL-O | 점프 목록에서 N 번째 이전 위치로 이동 |
+| ✅ | 🔢 CTRL-I | 점프 목록에서 N 번쨰 새로운 위치로 이동 |
+| ⬇️ | :ju[mps] | 점프리스트를 인쇄 |

다양한 동작

- Status Command Description
- % 이 줄에서 다음 중괄호, 대괄호, 주석 또는 "#if"/ "#else"/ "# endif"를 찾아서 해당 행으로 이동하십시오.
+ Status Command Description
+ ------------------ ------------------- -----------------------------------------------------------------------------------------------------
+ % 이 줄에서 다음 중괄호, 대괄호, 주석 또는 "#if"/ "#else"/ "# endif"를 찾아서 해당 행으로 이동하십시오.
🔢 H 공백이 아닌 첫 번째 창에서 N 번째 줄로 이동
M 공백이 아닌 첫 번째 창에서 가운데 줄로 이동
🔢 L 첫 번째 공백이 아닌 바닥에서 N 번째 줄로 이동
- ⬇️ 🔢 go 버퍼의 N 번째 바이트로 이동
- ⬇️ :[range]go[to][off] 버퍼의 [off] 바이트로 이동
+ ⬇️ 🔢 go 버퍼의 N 번째 바이트로 이동
+ ⬇️ :[range]go[to][off] 버퍼의 [off] 바이트로 이동

태그 사용

VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순위가 낮습니다. 아직 명령 팔레트에서 사용해보십시오!

- Status Command Description
- ⬇️ :ta[g][!] {tag} 태그 {tag}로 이동
- ⬇️ :[count]ta[g][!] 태그 목록에서 [count] '번째 최신 태그로 이동
- ⬇️ CTRL-] 변경 사항이 없으면 커서 아래의 태그로 이동
- ⬇️ :ts[elect][!] [tag] 일치하는 태그를 나열하고 이동할 태그를 선택하십시오.
- ⬇️ :tj[ump][!] [tag] 일치하는 태그가 여러 개인 경우 [tag] 태그로 이동하거나 목록에서 선택하십시오.
- ⬇️ :lt[ag][!] [tag] [tag] 태그로 이동하여 위치 목록에 일치하는 태그 추가 인쇄 태그 목록
- ⬇️ :tagsa 인쇄 태그 목록
- ⬇️ 🔢 CTRL-T 태그 목록에서 N 번째 오래된 태그에서 뒤로 이동
- ⬇️ :[count]po[p][!] 태그 목록에서 [count] 번째 오래된 태그에서 뒤로 이동
- ⬇️ :[count]tn[ext][!] 다음으로 일치하는 [count] 번째 태그로 이동
- ⬇️ :[count]tp[revious][!] 이전 일치하는 [count] 번째 태그로 이동
- ⬇️ :[count]tr[ewind][!] 일치하는 [count] 번째 태그로 이동
- ⬇️ :tl[ast][!] 마지막으로 일치하는 태그로 이동
- ⬇️ :pt[ag] {tag} {tag} 태그를 표시하기 위해 미리보기 창을 엽니 다.
- ⬇️ CTRL-W } CTRL-]와 유사하지만 미리보기 창에 태그 표시
- ⬇️ :pts[elect] ": tselect"와 같지만 미리보기 창에 태그 표시
- ⬇️ :ptj[ump] ": tjump"와 같지만 미리보기 창에 태그 표시
- ⬇️ :pc[lose] 태그 미리보기 창 닫기
- ⬇️ CTRL-W z 태그 미리보기 창 닫기`
+ Status Command Description
+ ------------ ---------------------- -----------------------------------------------------------------------------
+ ⬇️ :ta[g][!] {tag} 태그 {tag}로 이동
+ ⬇️ :[count]ta[g][!] 태그 목록에서 [count] '번째 최신 태그로 이동
+ ⬇️ CTRL-] 변경 사항이 없으면 커서 아래의 태그로 이동
+ ⬇️ :ts[elect][!] [tag] 일치하는 태그를 나열하고 이동할 태그를 선택하십시오.
+ ⬇️ :tj[ump][!] [tag] 일치하는 태그가 여러 개인 경우 [tag] 태그로 이동하거나 목록에서 선택하십시오.
+ ⬇️ :lt[ag][!] [tag] [tag] 태그로 이동하여 위치 목록에 일치하는 태그 추가 인쇄 태그 목록
+ ⬇️ :tagsa 인쇄 태그 목록
+ ⬇️ 🔢 CTRL-T 태그 목록에서 N 번째 오래된 태그에서 뒤로 이동
+ ⬇️ :[count]po[p][!] 태그 목록에서 [count] 번째 오래된 태그에서 뒤로 이동
+ ⬇️ :[count]tn[ext][!] 다음으로 일치하는 [count] 번째 태그로 이동
+ ⬇️ :[count]tp[revious][!] 이전 일치하는 [count] 번째 태그로 이동
+ ⬇️ :[count]tr[ewind][!] 일치하는 [count] 번째 태그로 이동
+ ⬇️ :tl[ast][!] 마지막으로 일치하는 태그로 이동
+ ⬇️ :pt[ag] {tag} {tag} 태그를 표시하기 위해 미리보기 창을 엽니 다.
+ ⬇️ CTRL-W } CTRL-]와 유사하지만 미리보기 창에 태그 표시
+ ⬇️ :pts[elect] ": tselect"와 같지만 미리보기 창에 태��� 표시
+ ⬇️ :ptj[ump] ": tjump"와 같지만 미리보기 창에 태그 표시
+ ⬇️ :pc[lose] 태그 미리보기 창 닫기
+ ⬇️ CTRL-W z 태그 미리보기 창 닫기`

스크롤

- Status Command Description
- 🔢 CTRL-E window N 줄 아래로 내려갑니다 (기본값: 1)
+ Status Command Description
+ ------------------ ------------- -------------------------------------------------
+ 🔢 CTRL-E window N 줄 아래로 내려갑니다 (기본값: 1)
🔢 CTRL-D window N 줄 아래로 내려갑니다(기본값: 1/2 window)
- 🔢 CTRL-F window N 페이지 앞으로 (아래로)
- 🔢 CTRL-Y window N 줄 위쪽을 향합니다 (기본값: 1)
- 🔢 CTRL-U window N 줄 위쪽을 향합니다 (기본값: 1/2 window)
- 🔢 CTRL-B window N 페이지 뒤로 (위로)
- z CR or zt window 맨 위에있는 현재 행 다시 그리기
- z. or zz window 가운데에 현재 행 다시 그리기
- z- or zb window 맨 아래에 현재 행 다시 그리기
+ 🔢 CTRL-F window N 페이지 앞으로 (아래로)
+ 🔢 CTRL-Y window N 줄 위쪽을 향합니다 (기본값: 1)
+ 🔢 CTRL-U window N 줄 위쪽을 향합니다 (기본값: 1/2 window)
+ 🔢 CTRL-B window N 페이지 뒤로 (위로)
+ z CR or zt window 맨 위에있는 현재 행 다시 그리기
+ z. or zz window 가운데에 현재 행 다시 그리기
+ z- or zb window 맨 아래에 현재 행 다시 그리기

'wrap'이 꺼져있을 때만 작동합니다.

- Status Command Description Note
- ✅ ⭐ 🔢 zh 화면 N 문자를 오른쪽으로 스크롤 코드에서 가로 스크롤 막대의 이동 여부에 관계없이이 명령을 실행할 때 커서는 항상 이동합니다.
- ✅ ⭐ 🔢 zl 화면 N 문자를 왼쪽으로 스크롤 위와 같음
- ✅ ⭐ 🔢 zH 화면 너비를 화면 너비의 오른쪽으로 스크롤 위와 같음
- ✅ ⭐ 🔢 zL 화면 너비를 화면 너비의 왼쪽으로 스크롤 위와 같음
+ Status Command Description Note
+ ------------------------- --------- ----------------------------------------- -------------------------------------------------------------------------------------------
+ ✅ ⭐ 🔢 zh 화면 N 문자를 오른쪽으로 스크롤 코드에서 가로 스크롤 막대의 이동 여부에 관계없이이 명령을 실행할 때 커서는 항상 이동합니다.
+ ✅ ⭐ 🔢 zl 화면 N 문자를 왼쪽으로 스크롤 위와 같음
+ ✅ ⭐ 🔢 zH 화면 너비를 화면 너비의 오른쪽으로 스크롤 위와 같음
+ ✅ ⭐ 🔢 zL 화면 너비를 화면 너비의 왼쪽으로 스크롤 위와 같음

텍스트 삽입

- Status Command Description
- 🔢 a 커서 다음에 텍스트 추가 (N 회)
- 🔢 A 줄의 끝에 텍스트를 추가하십시오 (N 번)
- 🔢 i 커서 앞에 텍스트 삽입 (N 번) (또한 삽입)
- 🔢 I 첫 번째 공백이 아닌 줄 앞에 텍스트를 삽입하십시오 (N 번)
- 🔢 gI 1 열에 텍스트 삽입 (N 회)
- gi 마지막 변경이 끝��� 때 삽입
- 🔢 o 현재 줄 아래에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
- 🔢 O 현재 줄 위에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
+ Status Command Description
+ ------------------ --------- --------------------------------------------------------
+ 🔢 a 커서 다음에 텍스트 추가 (N 회)
+ 🔢 A 줄의 끝에 텍스트를 추가하십시오 (N 번)
+ 🔢 i 커서 앞에 텍스트 삽입 (N 번) (또한 삽입)
+ 🔢 I 첫 번째 공백이 아닌 줄 앞에 텍스트를 삽입하십시오 (N 번)
+ 🔢 gI 1 열에 텍스트 삽입 (N 회)
+ gi 마지막 변경이 끝날 때 삽입
+ 🔢 o 현재 줄 아래에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
+ 🔢 O 현재 줄 위에 새 줄을 열고 텍스트를 추가하십시오 (N 번)

비주얼 블록 모드에서:

- Status Command Description
- I 선택한 모든 줄 앞에 같은 텍스트를 삽입
- A 선택한 모든 줄 다음에 같은 텍스트를 추가하십시오
+ Status Command Description
+ ------------------ ------- ------------------------------------------------
+ I 선택한 모든 줄 앞에 같은 텍스트를 삽입
+ A 선택한 모든 줄 다음에 같은 텍스트를 추가하십시오

모드 키 삽입

@@ -240,73 +240,73 @@ VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순

Status Command Description
- Esc
- CTRL-C
- CTRL-O {command}
+ Esc
+ CTRL-C
+ CTRL-O {command}

이동:

- Status Command Description
- cursor keys 커서를 왼쪽/오른쪽/위/아래로 이동
- shift-left/right 한 단어 왼쪽/오른쪽
- shift-up/down 한 화면 뒤로/앞으로
- End 줄의 마지막 문자 다음에 커서
- Home 줄의 첫 문자에 커서
+ Status Command Description
+ ------------------ ---------------- ---------------------------------
+ cursor keys 커서를 왼쪽/오른쪽/위/아래로 이동
+ shift-left/right 한 단어 왼쪽/오른쪽
+ shift-up/down 한 화면 뒤로/앞으로
+ End 줄의 마지막 문자 다음에 커서
+ Home 줄의 첫 문자에 커서

삽입 모드의 특수 키

- Status Command Description Note
- ⬇️ CTRL-V {char}.. 문자를 문자 그대로 삽입하거나 10 진수 바이트 값을 입력하십시오.
- ⚠️ NL or CR or CTRL-M or CTRL-J 새 줄을 시작하다 CTRL-M 및 CTRL-J는 지원되지 않습니다
- CTRL-E 커서 아래에서 문자를 삽입
- CTRL-Y 커서 위에서 문자를 삽입
- ✅ ⭐ CTRL-A 이전에 삽입 한 텍스트 삽입 이전 삽입 세션에서 작성된 이전 문서 변경 사항을 적용하고 커서 아래에서 발생하는 변경 사항 만 적용합니다
- ✅ ⭐ CTRL-@ 이전에 삽입 한 텍스트 삽입 및 삽입 모드 중지 위와 같음
- CTRL-R {0-9a-z%#:.-="} 레지스터의 내용을 삽입
- CTRL-N 커서 앞에 식별자의 다음 일치를 삽입
- CTRL-P 커서 앞에 식별자의 이전 일치를 삽입
- ⬇️ CTRL-X ... 다양한 방법으로 커서 앞에있는 단어를 완성하십시오
- BS or CTRL-H 커서 앞의 문자를 삭제
- Del 커서 아래의 문자를 삭제
- CTRL-W 커서 앞의 단어를 삭제
- CTRL-U 현재 줄에 입력한 모든 문자를 삭제
- CTRL-T 현재 줄 앞에 한 개의 들여 쓰기 폭을 삽입
- CTRL-D 현재 줄 앞에 들여 쓰기 한 이동 폭 삭제
- ⬇️ 0 CTRL-D 현재 줄의 들여 쓰기를 모두 삭제하십시오.
- ⬇️ ^ CTRL-D 현재 줄에서 들여 쓰기를 모두 삭제하고 다음 줄 들여 쓰기를 복원
+ Status Command Description Note
+ ------------------------- ---------------------------- --------------------------------------------------------------- -------------------------------------------------------------------------------------------------------
+ ⬇️ CTRL-V {char}.. 문자를 문자 그대로 삽입하거나 10 진수 바이트 값을 입력하십시오.
+ ⚠️ NL or CR or CTRL-M or CTRL-J 새 줄을 시작하다 CTRL-M 및 CTRL-J는 지원되지 않습니다
+ CTRL-E 커서 아래에서 문자를 삽입
+ CTRL-Y 커서 위에서 문자를 삽입
+ ✅ ⭐ CTRL-A 이전에 삽입 한 텍스트 삽입 이전 삽입 세션에서 작성된 이전 문서 변경 사항을 적용하고 커서 아래에서 발생하는 변경 사항 만 적용합니다
+ ✅ ⭐ CTRL-@ 이전에 삽입 한 텍스트 삽입 및 삽입 모드 중지 위와 같음
+ CTRL-R {0-9a-z%#:.-="} 레지스터의 내용을 삽입
+ CTRL-N 커서 앞에 식별자의 다음 일치를 삽입
+ CTRL-P 커서 앞에 식별자의 이전 일치를 삽입
+ ⬇️ CTRL-X ... 다양한 방법으로 커서 앞에있는 단어를 완성하십시오
+ BS or CTRL-H 커서 앞의 문자를 삭제
+ Del 커서 아���의 문자를 삭제
+ CTRL-W 커서 앞의 단어를 삭제
+ CTRL-U 현재 줄에 입력한 모든 문자를 삭제
+ CTRL-T 현재 줄 앞에 한 개의 들여 쓰기 폭을 삽입
+ CTRL-D 현재 줄 앞에 들여 쓰기 한 이동 폭 삭제
+ ⬇️ 0 CTRL-D 현재 줄의 들여 쓰기를 모두 삭제하십시오.
+ ⬇️ ^ CTRL-D 현재 줄에서 들여 쓰기를 모두 삭제하고 다음 줄 들여 쓰기를 복원

Di그래프

- Status Command Description
- :dig[raphs] di그래프의 현재 목록 표시
- ⬇️ :dig[raphs] {char1}{char2} {number} ... 목록에 digraph(s) 추가
+ Status Command Description
+ ------------------ --------------------------------------- -------------------------
+ :dig[raphs] di그래프의 현재 목록 표시
+ ⬇️ :dig[raphs] {char1}{char2} {number} ... 목록에 digraph(s) 추가

Special inserts

- Status Command Description
- ⚠️ :r [file] 커서 아래에 [file]의 내용을 삽입하십시오.
- ⚠️ :r! {command} 커서 아래에 {command}의 표준 출력을 삽입하십시오.
+ Status Command Description
+ --------- ------------- -------------------------------------------------
+ ⚠️ :r [file] 커서 아래에 [file]의 내용을 삽입하십시오.
+ ⚠️ :r! {command} 커서 아래에 {command}의 표준 출력을 삽입하십시오.

텍스트 삭제

- Status Command Description
- 🔢 x 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
- 🔢 Del 커서 아��� 및 뒤에 N 문자를 삭제 하십시오.
- 🔢 X 커서 앞의 N 문자를 삭제 하십시오.
- 🔢 d{motion} {motion}으로 이동한 텍스트를 삭제하십시오.
- {visual}d 강조 표시된 텍스트를 삭제
- 🔢 dd N 줄을 삭제
- 🔢 D 줄 끝까지 삭제 (및 N-1 줄 더)
- 🔢 J N-1 라인 가입 (EOL 삭제)
- {visual}J 강조 표시된 라인에 참여
- 🔢 gJ "J"와 같지만 공백을 삽입하지 않음
- {visual}gJ "{visual} J"와 같지만 공백을 삽입하지 않음
- :[range]d [x] [범위] 줄 삭제 [등록 x]
+ Status Command Description
+ ------------------ ---------------- ------------------------------------------
+ 🔢 x 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
+ 🔢 Del 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
+ 🔢 X 커서 앞의 N 문자를 삭제 하십시오.
+ 🔢 d{motion} {motion}으로 이동한 텍스트를 삭제하십시오.
+ {visual}d 강조 표시된 텍스트를 삭제
+ 🔢 dd N 줄을 삭제
+ 🔢 D 줄 끝까지 삭제 (및 N-1 줄 더)
+ 🔢 J N-1 라인 가입 (EOL 삭제)
+ {visual}J 강조 표시된 라인에 참여
+ 🔢 gJ "J"와 같지만 공백을 삽입하지 않음
+ {visual}gJ "{visual} J"와 같지만 공백을 삽입하지 않음
+ :[range]d [x] [범위] 줄 삭제 [등록 x]

텍스트 복사 및 이동

@@ -329,224 +329,224 @@ VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순

텍스트 변경

- Status Command Description Note
- 🔢 r{char} N 문자를 {char}로 바꾸십시오
- ⬇️ 🔢 gr{char} 레이아웃에 영향을주지 않고 N 문자를 교체
- ✅ ⭐ 🔢 R 바꾸기 모드로 들어가십시오 (입력 한 텍스트를 N 번 반복하십시오) {count} is not supported
- ⬇️ 🔢 gR 가상 교체 모드로 전환 : 대체 모드와 유사하지만 레이아웃에 영향을 미치지 않음
- {visual}r{char} 비주얼 블록, 비주얼 또는 비주얼 라인 모드에서 : 선택한 텍스트의 각 문자를 {char}로 바꿉니다.
+ Status Command Description Note
+ ------------------------- --------------- -------------------------------------------------------------------------------------------- ------------------------
+ 🔢 r{char} N 문자를 {char}로 바꾸십시오
+ ⬇️ 🔢 gr{char} 레이아웃에 영향을주지 않고 N 문자를 교체
+ ✅ ⭐ 🔢 R 바꾸기 모드로 들어가십시오 (입력 한 텍스트를 N 번 반복하십시오) {count} is not supported
+ ⬇️ 🔢 gR 가상 교체 모드로 전환 : 대체 모드와 유사하지만 레이아웃에 영향을 미치지 않음
+ {visual}r{char} 비주얼 블록, 비주얼 또는 비주얼 라인 모드에서 : 선택한 텍스트의 각 문자를 {char}로 바꿉니다.

(변경 = 텍스트 삭제 및 삽입 모드 입력)

- Status Command Description
- 🔢 c{motion} {motion}으로 이동 한 텍스트를 변경하십시오.
- {visual}c 강조 표시된 텍스트를 변경
- 🔢 cc N줄 바꾸기
- 🔢 S N줄 바꾸기
- 🔢 C 줄의 끝으로 변경 (및 N-1 더 많은 줄)
- 🔢 s N 문자를 바꾸다
- {visual}c 비주얼 블록 모드에서 : 입력 한 텍스트로 선택한 각 줄을 변경합니다
- {visual}C 비주얼 블록 모드에서 : 입력 한 텍스트로 줄 끝까지 선택된 각 줄을 변경합니다.
- {visual}~ 강조 표시된 텍스트의 경우 전환
- {visual}u 강조 표시된 텍스트를 소문자로 설정
- {visual}U 강조 표시된 텍스트를 대문자로 만듭니다.
- g~{motion} {motion}으로 이동 한 텍스트의 대소 문자 전환
- gu{motion} {motion}으로 옮긴 텍스트를 소문자로 만듭니다.
- gU{motion} {motion}으로 이동 한 텍스트를 대문자로 만듭니다.
- ⬇️ {visual}g? 강조 표시된 텍스트에서 rot13 인코딩 수행
- ⬇️ g?{motion} {motion}으로 이동 한 텍스트에서 rot13 인코딩 수행
- 🔢 CTRL-A 커서 위 또는 뒤에있는 숫자에 N을 더하다
- 🔢 CTRL-X 커서에서 또는 뒤에있는 숫자에서 N을 빼기
- 🔢 <{motion} {motion}으로 이동 한 줄을 한 이동 폭 왼쪽으로 이동
- 🔢 << N 라인을 한 이동 폭만큼 왼쪽으로 이동
- 🔢 >{motion} {motion}으로 이동 한 선을 한 이동 폭만큼 오른쪽으로 이동
- 🔢 >> N 라인을 한 이동 폭만큼 오른쪽으로 이동
- 🔢 gq{motion} {motion}으로 이동 한 행을 'textwidth'길이로 형식화
- ⬇️ :[range]ce[nter][width] [range]에서 선 중심
- ⬇️ :[range]le[ft][indent] [range]에서 줄을 왼쪽 정렬합니다 ([indent] 포함)
- ⬇️ :[ranee]ri[ght][width] [range]에서 선을 오른쪽 정렬합니다
+ Status Command Description
+ ------------------ ----------------------- ----------------------------------------------------------------------------
+ 🔢 c{motion} {motion}으로 이동 한 텍스트를 변경하십시오.
+ {visual}c 강조 표시된 텍스트를 변경
+ 🔢 cc N줄 바꾸기
+ 🔢 S N줄 바꾸기
+ 🔢 C 줄의 끝으로 변경 (및 N-1 더 많은 줄)
+ 🔢 s N 문자를 바꾸다
+ {visual}c 비주얼 블록 모드에서 : 입력 한 텍스트로 선택한 각 줄을 변경합니다
+ {visual}C 비주얼 블록 모드에서 : 입력 한 텍스트로 줄 끝까지 선택된 각 줄을 변경합니다.
+ {visual}~ 강조 표시된 텍스트의 경우 전환
+ {visual}u 강조 표시된 텍스트를 소문자로 설정
+ {visual}U 강조 표시된 텍스트를 대문자로 만듭니다.
+ g~{motion} {motion}으로 이동 한 텍스트의 대소 문자 전환
+ gu{motion} {motion}으로 옮긴 텍스트를 소문자로 만듭니다.
+ gU{motion} {motion}으로 이동 한 텍스트를 대문자로 만듭니다.
+ ⬇️ {visual}g? 강조 표시된 텍���트에서 rot13 인코딩 수행
+ ⬇️ g?{motion} {motion}으로 이동 한 텍스트에서 rot13 인코딩 수행
+ 🔢 CTRL-A 커서 위 또는 뒤에있는 숫자에 N을 더하다
+ 🔢 CTRL-X 커서에서 또는 뒤에있는 숫자에서 N을 빼기
+ 🔢 <{motion} {motion}으로 이동 한 줄을 한 이동 폭 왼쪽으로 이동
+ 🔢 << N 라인을 한 이동 폭만큼 왼쪽으로 이동
+ 🔢 >{motion} {motion}으로 이동 한 선을 한 이동 폭만큼 오른쪽으로 이동
+ 🔢 >> N 라인을 한 이동 폭만큼 오른쪽으로 이동
+ 🔢 gq{motion} {motion}으로 이동 한 행을 'textwidth'길이로 형식화
+ ⬇️ :[range]ce[nter][width] [range]에서 선 중심
+ ⬇️ :[range]le[ft][indent] [range]에서 줄을 왼쪽 정렬합니다 ([indent] 포함)
+ ⬇️ :[ranee]ri[ght][width] [range]에서 선을 오른쪽 정렬합니다

복잡한 변화

- Status Command Description Note
- ⬇️ 🔢 !{motion}{command}<CR> {command}를 통해 이동 한 행을 필터링
- ⬇️ 🔢 !!{command}<CR> {command}를 통해 N 라인 필터링
- ⬇️ {visual}!{command}<CR> {command}를 통해 강조 표시된 줄을 필터링하십시오.
- ⬇️ :[range]! {command}<CR> {command}를 통해 [range] 라인 필터링
- 🔢 ={motion} 'equalprg'를 통해 이동 한 라인을 필터링 through 'equalprg'
- 🔢 == 'equalprg'를 통해 N 라인 필터링
- {visual}= 'equalprg'를 통해 강조 표시된 줄을 필터링하십시오.
- ✅ ⭐ ⚠️ :[range]s[ubstitute]/{pattern}/{string}/[g][c] [range] 행에서 {string}으로 {pattern}을 대체하십시오. [g]로, 모든 {pattern}을 대체하십시오. [c]로 각 교체 확인 현재는 JavaScript 정규식 만 지원하며 gi 옵션 만 구현됩니다.
- ⬇️ :[range]s[ubstitute][g][c] 새로운 범위와 옵션으로 이전 ": s"반복
- ⬇️ & 옵션없이 현재 줄에서 이전 ": s"반복
- ⬇️ :[range]ret[ab][!] [tabstop] 'tabstop'을 새 값으로 설정하고 그에 따라 공백을 조정하십시오.
+ Status Command Description Note
+ ----------------------------------- ---------------------------------------------- -------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------
+ ⬇️ 🔢 !{motion}{command}<CR> {command}를 통해 이동 한 행을 필터링
+ ⬇️ 🔢 !!{command}<CR> {command}를 통해 N 라인 필터링
+ ⬇️ {visual}!{command}<CR> {command}를 통해 강조 표시된 줄을 필터링하십시오.
+ ⬇️ :[range]! {command}<CR> {command}를 통해 [range] 라인 필터링
+ 🔢 ={motion} 'equalprg'를 통해 이동 한 라인을 필터링 through 'equalprg'
+ 🔢 == 'equalprg'를 통해 N 라인 필터링
+ {visual}= 'equalprg'를 통해 강조 표시된 줄을 필터링하십시오.
+ ✅ ⭐ ⚠️ :[range]s[ubstitute]/{pattern}/{string}/[g][c] [range] 행에서 {string}으로 {pattern}을 대체하십시오. [g]로, 모든 {pattern}을 대체하십시오. [c]로 각 교체 확인 현재는 JavaScript 정규식 만 지원하며 gi 옵션 만 구현됩니다.
+ ⬇️ :[range]s[ubstitute][g][c] 새로운 범위와 옵션으로 이전 ": s"반복
+ ⬇️ & 옵션없이 현��� 줄에서 이전 ": s"반복
+ ⬇️ :[range]ret[ab][!] [tabstop] 'tabstop'을 새 값으로 설정하고 그에 따라 공백을 조정하십시오.

비주얼 모드

- Status Command Description
- v 문자 강조 표시 시작 또는 강조 표시 중지
- V 선으로 강조 표시 시작 또는 강조 표시 중지
- CTRL-V 블록 단위로 강조 표시 시작 또는 강조 표시 중지
- o 강조 표시 시작으로 커서 위치 교환
- gv 이전 시각적 영역에서 강조 표시 시작
+ Status Command Description
+ ------------------ ------- ----------------------------------------------
+ v 문자 강조 표시 시작 또는 강조 표시 중지
+ V 선으로 강조 표시 시작 또는 강조 표시 중지
+ CTRL-V 블록 ���위로 강조 표시 시작 또는 강조 표시 중지
+ o 강조 표시 시작으로 커서 위치 교환
+ gv 이전 시각적 영역에서 강조 표시 시작

텍스트 객체 (비주얼 모드에서만 또는 연산자 뒤)

- Status Command Description
- 🔢 aw "a word"를 선택하십시오.
- 🔢 iw "inner word"를 선택하십시오.
- 🔢 aW "a WORD"를 선택하십시오.
- 🔢 iW "inner WORD"를 선택하십시오.
- 🔢 as "a sentence"를 선택하십시오.
- 🔢 is "inner sentence"를 선택하십시오.
- 🔢 ap "a paragraph"를 선택하십시오.
- 🔢 ip "inner paragraph"를 선택하십시오.
- 🔢 a], a[ '[' ']'블록을 선택하십시오
- 🔢 i], i[ 내부 '[' ']'블록을 선택하십시오.
- 🔢 ab, a(, a) "a block"을 선택하십시오. ("[("에서 "])"까지)
- 🔢 ib, i), i( "inner block"을 선택하십시오. ("[("에서 "])"까지)
- 🔢 a>, a< "a <> block"을 선택하십시오.
- 🔢 i>, i< "inner <> block"을 선택하십시오.
- 🔢 aB, a{, a} "a Block"을 선택하십시오. ("[{"에서 "]}"까지)
- 🔢 iB, i{, i} "inner Block"을 ("[{"에서 "]}"까지)
- 🔢 at "a tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
- 🔢 it "inner tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
- 🔢 a' "a single quoted string"을 선택하십시오.
- 🔢 i' "inner single quoted string"을 선택하십시오.
- 🔢 a" "a double quoted string"을 선택하십시오.
- 🔢 i" "inner double quoted string"을 선택하십시오.
- 🔢 a` "a backward quoted string"을 선택하십시오.
- 🔢 i` "inner backward quoted string"을 선택하십시오.
+ Status Command Description
+ ------------------ ---------------------------------------------------------- --------------------------------------------------------------------
+ 🔢 aw "a word"를 선택하십시오.
+ 🔢 iw "inner word"를 선택하십시오.
+ 🔢 aW "a WORD"를 선택하십시오.
+ 🔢 iW "inner WORD"를 선택하십시오.
+ 🔢 as "a sentence"를 선택하십시오.
+ 🔢 is "inner sentence"를 선택하십시오.
+ 🔢 ap "a paragraph"를 선택하십시오.
+ 🔢 ip "inner paragraph"를 선택하십시오.
+ 🔢 a], a[ '[' ']'블록을 선택하십시오
+ 🔢 i], i[ 내부 '[' ']'블록을 선택하십시오.
+ 🔢 ab, a(, a) "a block"을 선택하십���오. ("[("에서 "])"까지)
+ 🔢 ib, i), i( "inner block"을 선택하십시오. ("[("에서 "])"까지)
+ 🔢 a>, a< "a <> block"을 선택하십시오.
+ 🔢 i>, i< "inner <> block"을 선택하십시오.
+ 🔢 aB, a{, a} "a Block"을 선택하십시오. ("[{"에서 "]}"까지)
+ 🔢 iB, i{, i} "inner Block"을 ("[{"에서 "]}"까지)
+ 🔢 at "a tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
+ 🔢 it "inner tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
+ 🔢 a' "a single quoted string"을 선택하십시오.
+ 🔢 i' "inner single quoted string"을 선택하���시오.
+ 🔢 a" "a double quoted string"을 선택하십시오.
+ 🔢 i" "inner double quoted string"을 선택하십시오.
+ 🔢 a` "a backward quoted string"을 선택하십시오.
+ 🔢 i` "inner backward quoted string"을 선택하십시오.

반복 명령

- Status Command Description Note
- ✅ ⭐ 🔢 . 마지막 변경을 반복합니다 (N으로 개수를 대체) 커서 아래에서 발생하지 않는 내용 변경은 반복 할 수 없습니다.
- q{a-z} 입력 된 문자를 레지스터 {a-z}에 기록
- ⬇️ q{A-Z} {a-z} 등록을 위해 추가 된 레코드 유형 문자
+ Status Command Description Note
+ ------------------------- --------------------------------- -------------------------------------------------------------------------------------------------- ------------------------------------------------------------
+ ✅ ⭐ 🔢 . 마지막 변경을 반복합니다 (N으로 개수를 대체) 커서 아래에서 발생하지 않는 내용 변경은 반복 할 수 없습니다.
+ q{a-z} 입력 된 문자를 레지스터 {a-z}에 기록
+ ⬇️ q{A-Z} {a-z} 등록을 위해 추가 된 레코드 유형 문자
q 녹화 중지
- 🔢 @{a-z} 레지스터 {a-z}의 내용을 실행합니다 (N 회)
- 🔢 @@ 이전 @ {a-z} 반복 (N 회)
- ⬇️ :@{a-z} 레지스터 {a-z}의 내용을 Ex 명령으로 실행
+ 🔢 @{a-z} 레지스터 {a-z}의 내용을 실행합니다 (N 회)
+ 🔢 @@ 이전 @ {a-z} 반복 (N 회)
+ ⬇️ :@{a-z} 레지스터 {a-z}의 내용을 Ex 명령으로 실행
⬇️ :@@ 이전 반복 : @ {a-z}
⬇️ :[range]g[lobal]/{pattern}/[cmd] execute Ex command cmd on the lines within [range] where {pattern} matches
⬇️ :[range]g[lobal]!/{pattern}/[cmd] execute Ex command cmd on the lines within [range] where {pattern} does NOT match
- ⬇️ :so[urce] {file} {file}에서 EX 명령을 읽습니다.
- ⬇️ :so[urce]! {file} {file}에서 Vim 명령을 읽습니다.
- ⬇️ :sl[eep][sec] [sec] 초 동안 아무 것도하지 마십시오
- ⬇️ 🔢 gs N 초 동안 절전 모드로 전환
+ ⬇️ :so[urce] {file} {file}에서 EX 명령을 읽습니다.
+ ⬇️ :so[urce]! {file} {file}에서 Vim 명령을 읽습니다.
+ ⬇️ :sl[eep][sec] [sec] 초 동안 아무 것도하지 마십시오
+ ⬇️ 🔢 gs N 초 동안 절전 모드로 전환

옵션

- Status Command Description Note
- ⬇️ :se[t] 수정 된 모든 옵션 표시
- ⬇️ :se[t] all 모든 non-termcap 옵션을 표시
- ⬇️ :se[t] termcap 모든 termcap 옵션을 표시
- :se[t] {option} set boolean option (switch it on), 문자열 또는 숫자 옵션 표시
- :se[t] no{option} boolean option 재설정(switch it off)
- :se[t] inv{option} boolean option 반전
- :se[t] {option}={value} 문자열 / 숫자 옵션을 {value}로 설정
- :se[t] {option}+={value} 문자열 옵션에 {value} 추가, 숫자 옵션에 {value} 추가
- ✅ ⭐ :se[t] {option}-={value} 문자열 옵션에서 {value}를 제거하고 숫자 옵션에서 {value}를 뺍니다. 여기서는 문자열 옵션을 지원하지 않습니다.
- :se[t] {option}? {option}의 가치를 보여주십시오.
- ⬇️ :se[t] {option}& {option}을 기본 값으로 재설정
- ⬇️ :setl[ocal] ": set"과 같지만 옵션이있는 옵션의 로컬 값을 설정하십시오.
- ⬇️ :setg[lobal] ": set"과 같지만 로컬 옵션의 전역 값을 설정하십시오.
- ⬇️ :fix[del] 't_kb'값에 따른 't_kD'값 설정
+ Status Command Description Note
+ ------------------------- ------------------------ -------------------------------------------------------------------------- -----------------------------------------
+ ⬇️ :se[t] 수정 된 모든 옵션 표시
+ ⬇️ :se[t] all 모든 non-termcap 옵션을 표시
+ ⬇️ :se[t] termcap 모든 termcap 옵션을 표시
+ :se[t] {option} set boolean option (switch it on), 문자열 또는 숫자 옵션 표시
+ :se[t] no{option} boolean option 재설정(switch it off)
+ :se[t] inv{option} boolean option 반전
+ :se[t] {option}={value} 문자열 / 숫자 옵션을 {value}로 설정
+ :se[t] {option}+={value} 문자열 옵션에 {value} 추가, 숫자 옵션에 {value} 추가
+ ✅ ⭐ :se[t] {option}-={value} 문자열 옵션에서 {value}를 제거하고 숫자 옵션에서 {value}를 뺍니다. 여기서는 문자열 옵션을 지원하지 않습니다.
+ :se[t] {option}? {option}의 가치를 보여주십시오.
+ ⬇️ :se[t] {option}& {option}을 기본 값으로 재설정
+ ⬇️ :setl[ocal] ": set"과 같지만 옵션이있는 옵션의 로컬 값을 설정하십시오.
+ ⬇️ :setg[lobal] ": set"과 같지만 로컬 옵션의 전역 값을 설정하십시오.
+ ⬇️ :fix[del] 't_kb'값에 따른 't_kD'값 설정
⬇️ :opt[ions] 기능별로 분류 된 옵션, 한 줄 설명 및 도움말 링크를 보려면 새 창을 엽니 다.

목록이 너무 길기 때문에 이미 지원되는 옵션을 여기에 넣습니다.

- Status Command Default Value Description
- tabstop (ts) 4. we use Code's default value tabSize instead of Vim 파일의 <Tab>이 사용하는 공백 수
- hlsearch (hls) false 이전 검색 패턴이 있으면 일치하는 항목을 모두 강조 표시하십시오.
- ignorecase (ic) true 검색 패턴에서 대소 문자를 무시하십시오.
- smartcase (scs) true 검색 패턴에 대문자가 포함 된 경우 'ignorecase'옵션을 대체하십시오.
- iskeyword (isk) @,48-57,_,128-167,224-235 키워드는 영숫자와 '\ _'를 포함합니다. iskeyword에 대한 사용자 설정이 없으면editor.wordSeparators 속성을 사용합니다.
- scroll (scr) 20 CTRL-U 및 CTRL-D 명령으로 스크롤 할 행의 수입니다.
- expandtab (et) True. we use Code's default value insertSpaces instead of Vim <Tab>을 삽입 할 때 공백을 사용하십시오.
- autoindent true 정상 모드에서cc 또는S를 수행 할 때 들여 쓰기를 유지하여 줄을 바꿉니다.
+ Status Command Default Value Description
+ ------------------ --------------- --------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------
+ tabstop (ts) 4. we use Code's default value tabSize instead of Vim 파일의 <Tab>이 사용하는 공백 수
+ hlsearch (hls) false 이전 검색 패턴이 있으면 일치하는 항목을 모두 강조 표시하십시오.
+ ignorecase (ic) true 검색 패턴에서 대소 문자를 무시하십시오.
+ smartcase (scs) true 검색 패턴에 대문자가 포함 된 경우 'ignorecase'옵션을 대체하십시오.
+ iskeyword (isk) @,48-57,_,128-167,224-235 키워드는 영숫자와 '\ _'를 포함합니다. iskeyword에 대한 사용자 설정이 없으면editor.wordSeparators 속성을 사용합니다.
+ scroll (scr) 20 CTRL-U 및 CTRL-D 명령으로 스크롤 할 행의 수입니다.
+ expandtab (et) True. we use Code's default value insertSpaces instead of Vim <Tab>을 삽입 할 때 공백을 사용하십시오.
+ autoindent true 정상 모드에서cc 또는S를 수행 할 때 들여 쓰기를 유지하여 줄을 바꿉니다.

실행 취소 / 재실행 명령

- Status Command Description Note
- 🔢 u undo last N changes 현재 구현이 모든 경우를 완벽하게 다루지는 않을 수 있습니다.
+ Status Command Description Note
+ ------------------ ------------- -------------------------- -----------------------------------------------------------
+ 🔢 u undo last N changes 현재 구현이 모든 경우를 완벽하게 다루지는 않을 수 있습니다.
🔢 CTRL-R redo last N undone changes 위와 같음
U restore last changed line

외부 명령

- Status Command Description
- ⬇️ :sh[ell] shell을 시작하다
- ⬇️ :!{command} shell로 {command}를 실행
- ⬇️ K 'keywordprg'프로그램이있는 커서 아래의 검색 키워드 (기본값 : "man")
+ Status Command Description
+ ------------ ----------- -------------------------------------------------------------------
+ ⬇️ :sh[ell] shell을 시작하다
+ ⬇️ :!{command} shell로 {command}를 실행
+ ⬇️ K 'keywordprg'프로그램이있는 커서 아래의 검색 키워드 (기본값 : "man")

전 번호

- Status Command Description Note
- , 두 줄 번호를 구분
- ✅ ⭐ ; idem, 두 번째 행을 해석하기 전에 커서를 첫 번째 행 번호로 설정하십시오. 커서 이동은 포함되지 않습니다.
- {number} 절대적인 line number
- . 현재 줄
- $ 파일의 마지막 줄
- % 1,$와 같음 (전체 파일)
- * '<,'>은 같음(시작적 영역)
- 't mark t의 위치
- ⬇️ /{pattern}[/] {pattern}이 일치하는 다음 줄
- ⬇️ ?{pattern}[?] {pattern}이 일치하는 이전 줄
- +[num] 앞 줄 번호에 [num]을 추가하십시오 (기본값 : 1).
- -[num] 이전 줄 번호에서 [num]을 뺍니다 (기본값 : 1).
+ Status Command Description Note
+ ------------------------- ------------- ------------------------------------------------------------------------------------------------------ ----
+ , 두 줄 번호를 구분
+ ✅ ⭐ ; idem, 두 번째 행을 해석하기 전에 커서를 첫 번째 행 번호로 설정하십시오. 커서 이동은 포함되지 않습니다.
+ {number} 절대적인 line number
+ . 현재 줄
+ $ 파일의 마지막 줄
+ % 1,$와 같음 (전체 파일)
+ * '<,'>은 같음(시작적 영역)
+ 't mark t의 위치
+ ⬇️ /{pattern}[/] {pattern}이 일치하는 다음 줄
+ ⬇️ ?{pattern}[?] {pattern}이 일치하는 이전 ���
+ +[num] 앞 줄 번호에 [num]을 추가하십시오 (기본값 : 1).
+ -[num] 이전 줄 번호에서 [num]을 뺍니다 (기본값 : 1).

파일 편집

- Status Command Description Note
- ✅ ⭐ :e[dit] {file} Edit {file}. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
+ Status Command Description Note
+ ------------------------- -------------- ------------ -----------------------------------------------------------------------
+ ✅ ⭐ :e[dit] {file} Edit {file}. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.

Multi-window 명령

- Status Command Description Note
- ✅ ⭐ :e[dit] {file} {file}을 편집하십시오. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
- ✅ ⭐ <ctrl-w> hl 창 사이를 전환합니다. VS Code에는 Window라는 개념이 없으므로 이러한 명령을 그룹화 된 편집기 간 전환에 매핑합니다.
- :sp {file} 현재 창을 두개로 나눕니다.
- ✅ ⭐ :vsp {file} 세로로 현재 창을 두 개로 나눕니다.
- <ctrl-w> s 현재 창을 두개로 나눕니다.
- ✅ ⭐ <ctrl-w> v 세로로 현재 창을 두 개로 나눕니다.
- :new 새 창을 가로로 만들고 빈 파일 편집을 시작하십시오.
- ✅ ⭐ :vne[w] 새 창을 세로로 만들고 빈 파일 편집을 시작하십시오.
+ Status Command Description Note
+ ------------------------- ----------------- -------------------------------------------------- -------------------------------------------------------------------------------------------
+ ✅ ⭐ :e[dit] {file} {file}을 편집하십시오. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
+ ✅ ⭐ <ctrl-w> hl 창 사이를 전환합니다. VS Code에는 Window라는 개념이 없으므로 이러한 명령을 그룹화 된 편집기 간 전환에 매핑합니다.
+ :sp {file} 현재 창을 두개로 나눕니다.
+ ✅ ⭐ :vsp {file} 세로로 현재 창을 두 개로 나눕니다.
+ <ctrl-w> s 현재 창을 두개로 나눕니다.
+ ✅ ⭐ <ctrl-w> v 세로로 현재 창을 두 개로 나눕니다.
+ :new 새 창을 가로로 만들고 빈 파일 편집을 시작하십시오.
+ ✅ ⭐ :vne[w] 새 창을 세로로 만들고 빈 파일 편집을 시작하십시오.

- Status Command Description Note
+ Status Command Description Note
+ ------------------------- ------------------------------------ ------------------------------------------------------------------------------------- ---------------------------------------------------------------
:tabn[ext] 🔢 다음 탭 페이지 또는 탭 페이지 {count}로 이동하십시오. 첫 번째 탭 페이지는 1 번입니다.
- {count}<C-PageDown>, {count}gt 위와 동일
- :tabp[revious] 🔢 이전 탭 페이지로 이동하십시오. 첫 번째부터 마지막까지 감싸줍니다.
- :tabN[ext] 🔢 위와 동일
- {count}<C-PageUp>, {count}gT 위와 동일
- :tabfir[st] 첫 번째 탭 페이지로 이동하십시오.
- :tabl[ast] 마지막 탭 페이지로 이동하십시오.
- :tabe[dit] {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
- ⬇️ :[count]tabe[dit], :[count]tabnew 위와 동일 [count] 는 지원되지 않습니다.
- :tabnew {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
- ⬇️ :[count]tab {cmd} {cmd}를 실행하고 새 창이 열리면 대신 새 탭 페이지를여십시오.
- ✅ ⭐ :tabc[lose][!] 🔢 현재 탭 페이지를 닫거나 탭 페이지 {count}를 닫습니다. 코드는 저장하지 않고 탭을 직접 닫습니다.
- ✅ ⭐ :tabo[nly][!] 다른 모든 탭 페이지를 닫습니다. !는 지원되지 않으며, 코드는 저장하지 않고 탭을 직접 닫습니다.
- :tabm[ove][n] 현재 탭 페이지를 탭 페이지 N 이후로 이동하십시오.
- ⬇️ :tabs 탭 페이지와 포함 된 창을 나열하십시오. 항상 코드의 내장 단축키를 사용할 수 있습니다 :cmd / ctrl + p
- ⬇️ :tabd[o] {cmd} 각 탭 페이지에서 {cmd}를 실행하십시오.
+ {count}<C-PageDown>, {count}gt 위와 동일
+ :tabp[revious] 🔢 이전 탭 페이지로 이동하십시오. 첫 번째부터 마지막까지 감싸줍니다.
+ :tabN[ext] 🔢 위와 동일
+ {count}<C-PageUp>, {count}gT 위와 동일
+ :tabfir[st] 첫 번째 탭 페이지로 이동하십시오.
+ :tabl[ast] 마지막 탭 페이지로 이동하십시오.
+ :tabe[dit] {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
+ ⬇️ :[count]tabe[dit], :[count]tabnew 위와 동일 [count] 는 지원되지 않습니다.
+ :tabnew {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
+ ⬇️ :[count]tab {cmd} {cmd}를 실행하고 새 창이 열리면 대신 새 탭 페이지를여십시오.
+ ✅ ⭐ :tabc[lose][!] 🔢 현재 탭 페이지를 닫거나 탭 페이지 {count}를 닫습니다. 코드는 저장하지 않고 탭을 직접 닫습니다.
+ ✅ ⭐ :tabo[nly][!] 다른 모든 탭 페이지를 닫습니다. !는 지원되지 않으며, 코드는 ���장하지 않고 탭을 직접 닫습니다.
+ :tabm[ove][n] 현재 탭 페이지를 탭 페이지 N 이후로 이동하십시오.
+ ⬇️ :tabs 탭 페이지와 포함 된 창을 나열하십시오. 항상 코드의 내장 단축키를 사용할 수 있습니다 :cmd / ctrl + p
+ ⬇️ :tabd[o] {cmd} 각 탭 페이지에서 {cmd}를 실행하십시오.

Folding

@@ -558,33 +558,33 @@ folding 방법은 'foldmethod' 옵션으로 설정할 수 있습니다. 현재 C

모든 fold-related가 this issue에 의해 차단되었습니다.

- Status Command Description
- ⬇️ zf{motion} or {Visual}zf fold를 만드는 연산자입니다.
- ⬇️ zF [count] 줄의 fold를 만듭니다. "zf"처럼 작동합니다.
- ⬇️ zd 커서에서 하나의 fold를 삭제하십시오.
- ⬇️ zD 커서에서 fold를 재귀적으로 삭제합니다.
- ⬇️ zE 창의 모든 fold를 제거하십시오.
- zo 커서 아래에 하나의 fold를 엽니다. 카운트가 주어지면 그 많은 폴드가 열립니다.
- zO 커서 아래의 모든 fold를 재귀적으로 엽니다.
- zc 커서 아래에서 한 개의 fold를 닫습니다. 카운트가 주어지면 깊은 곳의 많은 folds가 닫힙니다.
- zC 커서 아래의 모든fold를 재귀적으로 닫습니다.
- za 닫힌 fold에있을 때 : 여십시오. 열린 fold시 : 닫고 '접을 수 있음'을 설정하십시오.
- ⬇️ zA 열린 fold에 있을 때: 재귀적으로 엽니다. 닫힌 fold에 있을 때 : 재귀적으로 닫고 'foldenable'을 설정하십시오.
- ⬇️ zv View cursor line: 라인을 만들기에 충분한 fold를 엽니다.
- ⬇️ zx 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
- ⬇️ zX Update folds : 수동으로 열리고 닫힌 fold를 취소합니다. 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
- ⬇️ zm Fold more : 'foldlevel'에서 하나를 빼십시오.
- zM Close all folds : 'foldlevel'을 0으로 설정하십시오. 'foldenable'이 설정됩니다.
- ⬇️ zr Reduce folding : '폴더'에 하나를 추가하십시오.
- zR Open all fold. 'foldlevel'을 가장 높은 접기 수준으로 설정합니다.
- ⬇️ zn Fold none : 'foldenable'을 재설정하십시오. 모든 주름이 열립니다.
- ⬇️ zN Fold normal : 'foldenable'을 설정하십시오. 모든 주름은 이전과 동일합니다.
- ⬇️ zi 'foldenable'을 반전시킵니다.
- ⬇️ [z 현재 열린 fold 시작으로 이동합니다.
- ⬇️ ]z 현재 열린 fold의 끝으로 이동합니다.
- ⬇️ zj 다음 fold의 시작 부분으로 아래로 이동하십시오.
- ⬇️ zk 이전 fold의 끝으로 위로 이동하십시오.
+ Status Command Description
+ ------------------ ------------------------ -----------------------------------------------------------------------------------------------------------------------------
+ ⬇️ zf{motion} or {Visual}zf fold를 만드는 연산자입니다.
+ ⬇️ zF [count] 줄의 fold를 만듭니다. "zf"처럼 작동합니다.
+ ⬇️ zd 커서에서 하나의 fold를 삭제하십시오.
+ ⬇️ zD 커서에서 fold를 재귀적으로 삭제합니다.
+ ⬇️ zE 창의 모든 fold를 제거하십시오.
+ zo 커서 아래에 하나의 fold를 엽니다. 카운트가 주어지면 그 많은 폴드가 열립니다.
+ zO 커서 아래의 모든 fold를 재귀적으로 엽니다.
+ zc 커서 아래에서 한 개의 fold를 닫습니다. 카운트가 주어지면 깊은 곳의 많은 folds가 닫힙니다.
+ zC 커서 아래의 모든fold를 재귀적으로 닫습니다.
+ za 닫힌 fold에있을 때 : 여십시오. 열린 fold시 : 닫고 '접을 수 있음'을 설정하십시오.
+ ⬇️ zA 열린 fold에 있을 때: 재귀적으로 엽니다. 닫힌 fold에 있을 때 : 재귀적으로 닫고 'foldenable'을 설정하십시오.
+ ⬇️ zv View cursor line: 라인을 만들기에 충분한 fold를 엽니다.
+ ⬇️ zx 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
+ ⬇️ zX Update folds : 수동으로 열리고 닫힌 fold를 취소합니다. 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
+ ⬇️ zm Fold more : 'foldlevel'에서 하나를 빼십시오.
+ zM Close all folds : 'foldlevel'을 0으로 설정하십시오. 'foldenable'이 설정됩니다.
+ ⬇️ zr Reduce folding : '폴더'에 하나를 추가하십시오.
+ zR Open all fold. 'foldlevel'을 가장 높은 접기 수준으로 설정합니다.
+ ⬇️ zn Fold none : 'foldenable'을 재설정하십시오. 모든 주름이 열립니다.
+ ⬇️ zN Fold normal : 'foldenable'을 설정하십시오. 모든 주름은 이전과 동일합니다.
+ ⬇️ zi 'foldenable'을 반전시킵니다.
+ ⬇️ [z 현재 열린 fold 시작으로 이동합니다.
+ ⬇️ ]z 현재 열린 fold의 끝으로 이동합니다.
+ ⬇️ zj 다음 fold의 시작 부분으로 아래로 이동하십시오.
+ ⬇️ zk 이전 fold의 끝으로 위로 이동하십시오.

Fold 옵션

diff --git a/src/actions/commands/actions.ts b/src/actions/commands/actions.ts
index 20b91f9..6384f34 100644
--- a/src/actions/commands/actions.ts
+++ b/src/actions/commands/actions.ts
@@ -449,7 +449,11 @@ class CommandInsertWord extends BaseCommand {
@RegisterAction
class CommandRecordMacro extends BaseCommand {
modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['q', ''], ['q', ''], ['q', '"']];
  • keys = [

  • ['q', ''],

  • ['q', ''],

  • ['q', '"'],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    const register = this.keysPressed[1];
    @@ -2296,7 +2300,10 @@ export class CommandShowCommandHistory extends BaseCommand {
    @RegisterAction
    export class CommandShowSearchHistory extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['q', '/'], ['q', '?']];
  • keys = [

  • ['q', '/'],

  • ['q', '?'],

  • ];

    private direction = SearchDirection.Forward;

@@ -3032,7 +3039,10 @@ class CommandGoForwardInChangelist extends BaseCommand {
@RegisterAction
class CommandGoStartPrevOperatedText extends BaseCommand {
modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['`', '['], ["'", '[']];
  • keys = [

  • ['`', '['],

  • ["'", '['],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3048,7 +3058,10 @@ class CommandGoStartPrevOperatedText extends BaseCommand {
    @RegisterAction
    class CommandGoEndPrevOperatedText extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['`', ']'], ["'", ']']];
  • keys = [

  • ['`', ']'],

  • ["'", ']'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3064,7 +3077,10 @@ class CommandGoEndPrevOperatedText extends BaseCommand {
    @RegisterAction
    class CommandGoLastChange extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['`', '.'], ["'", '.']];
  • keys = [

  • ['`', '.'],

  • ["'", '.'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3314,7 +3330,12 @@ class CommandNavigateLastBOL extends BaseCommand {
    @RegisterAction
    class CommandQuit extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['', 'q'], ['', ''], ['', 'c'], ['', '']];
  • keys = [

  • ['', 'q'],

  • ['', ''],

  • ['', 'c'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    new QuitCommand({}).execute();
    @@ -3326,7 +3347,10 @@ class CommandQuit extends BaseCommand {
    @RegisterAction
    class CommandOnly extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['', 'o'], ['', '']];
  • keys = [

  • ['', 'o'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    new OnlyCommand({}).execute();
    @@ -3402,7 +3426,10 @@ class MoveToLeftPane extends BaseCommand {
    @RegisterAction
    class CycleThroughPanes extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', ''], ['', 'w']];
  • keys = [

  • ['', ''],

  • ['', 'w'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3423,7 +3450,10 @@ class BaseTabCommand extends BaseCommand {
    @RegisterAction
    class VerticalSplit extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', 'v'], ['', '']];
  • keys = [

  • ['', 'v'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    vimState.postponedCodeViewChanges.push({
    @@ -3438,7 +3468,10 @@ class VerticalSplit extends BaseCommand {
    @RegisterAction
    class OrthogonalSplit extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', 's'], ['', '']];
  • keys = [

  • ['', 's'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    vimState.postponedCodeViewChanges.push({
    diff --git a/src/actions/motion.ts b/src/actions/motion.ts
    index ca96602..2fd533f 100644
    --- a/src/actions/motion.ts
    +++ b/src/actions/motion.ts
    @@ -791,7 +791,10 @@ class MoveScreenLineCenter extends MoveByScreenLine {
    @RegisterAction
    export class MoveUpByDisplayLine extends MoveByScreenLine {
    modes = [ModeName.Insert, ModeName.Normal, ModeName.Visual];

  • keys = [['g', 'k'], ['g', '']];
  • keys = [
  • ['g', 'k'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'up';
    by: CursorMoveByUnit = 'wrappedLine';
    value = 1;
    @@ -800,7 +803,10 @@ export class MoveUpByDisplayLine extends MoveByScreenLine {
    @RegisterAction
    class MoveDownByDisplayLine extends MoveByScreenLine {
    modes = [ModeName.Insert, ModeName.Normal, ModeName.Visual];
  • keys = [['g', 'j'], ['g', '']];
  • keys = [
  • ['g', 'j'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'down';
    by: CursorMoveByUnit = 'wrappedLine';
    value = 1;
    @@ -814,7 +820,10 @@ class MoveDownByDisplayLine extends MoveByScreenLine {
    @RegisterAction
    class MoveUpByScreenLineVisualLine extends MoveByScreenLine {
    modes = [ModeName.VisualLine];
  • keys = [['g', 'k'], ['g', '']];
  • keys = [
  • ['g', 'k'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'up';
    by: CursorMoveByUnit = 'line';
    value = 1;
    @@ -823,7 +832,10 @@ class MoveUpByScreenLineVisualLine extends MoveByScreenLine {
    @RegisterAction
    class MoveDownByScreenLineVisualLine extends MoveByScreenLine {
    modes = [ModeName.VisualLine];
  • keys = [['g', 'j'], ['g', '']];
  • keys = [
  • ['g', 'j'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'down';
    by: CursorMoveByUnit = 'line';
    value = 1;
    @@ -832,7 +844,10 @@ class MoveDownByScreenLineVisualLine extends MoveByScreenLine {
    @RegisterAction
    class MoveUpByScreenLineVisualBlock extends BaseMovement {
    modes = [ModeName.VisualBlock];
  • keys = [['g', 'k'], ['g', '']];
  • keys = [

  • ['g', 'k'],

  • ['g', ''],

  • ];
    doesntChangeDesiredColumn = true;

    public async execAction(position: Position, vimState: VimState): Promise<Position | IMovement> {
    @@ -848,7 +863,10 @@ class MoveUpByScreenLineVisualBlock extends BaseMovement {
    @RegisterAction
    class MoveDownByScreenLineVisualBlock extends BaseMovement {
    modes = [ModeName.VisualBlock];

  • keys = [['g', 'j'], ['g', '']];
  • keys = [

  • ['g', 'j'],

  • ['g', ''],

  • ];
    doesntChangeDesiredColumn = true;

    public async execAction(position: Position, vimState: VimState): Promise<Position | IMovement> {
    diff --git a/src/actions/plugins/sneak.ts b/src/actions/plugins/sneak.ts
    index 9284c26..e72283c 100644
    --- a/src/actions/plugins/sneak.ts
    +++ b/src/actions/plugins/sneak.ts
    @@ -7,7 +7,10 @@ import { BaseMovement, IMovement } from '../baseMotion';

@RegisterAction
export class SneakForward extends BaseMovement {

  • keys = [['s', '', ''], ['z', '', '']];
  • keys = [

  • ['s', '', ''],

  • ['z', '', ''],

  • ];

    public couldActionApply(vimState: VimState, keysPressed: string[]): boolean {
    const startingLetter = vimState.recordedState.operator === undefined ? 's' : 'z';
    @@ -46,7 +49,7 @@ export class SneakForward extends BaseMovement {

    const ignorecase =
      configuration.sneakUseIgnorecaseAndSmartcase &&
    
  •    (configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString)));
    
  •    configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString));
    
     // Check for matches
     if (ignorecase) {
    

@@ -68,7 +71,10 @@ export class SneakForward extends BaseMovement {

@RegisterAction
export class SneakBackward extends BaseMovement {

  • keys = [['S', '', ''], ['Z', '', '']];
  • keys = [

  • ['S', '', ''],

  • ['Z', '', ''],

  • ];

    public couldActionApply(vimState: VimState, keysPressed: string[]): boolean {
    const startingLetter = vimState.recordedState.operator === undefined ? 'S' : 'Z';
    @@ -106,7 +112,7 @@ export class SneakBackward extends BaseMovement {

    const ignorecase =
      configuration.sneakUseIgnorecaseAndSmartcase &&
    
  •    (configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString)));
    
  •    configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString));
    
     // Check for matches
     if (ignorecase) {
    

diff --git a/src/configuration/configuration.ts b/src/configuration/configuration.ts
index ded8494..e64450d 100644
--- a/src/configuration/configuration.ts
+++ b/src/configuration/configuration.ts
@@ -276,14 +276,24 @@ class Configuration implements IConfiguration {
@overlapSetting({
settingName: 'lineNumbers',
defaultValue: true,

  • map: new Map([['on', true], ['off', false], ['relative', false], ['interval', false]]),
  • map: new Map([
  •  ['on', true],
    
  •  ['off', false],
    
  •  ['relative', false],
    
  •  ['interval', false],
    
  • ]),
    })
    number: boolean;

@overlapSetting({
settingName: 'lineNumbers',
defaultValue: false,

  • map: new Map([['on', false], ['off', false], ['relative', true], ['interval', false]]),
  • map: new Map([
  •  ['on', false],
    
  •  ['off', false],
    
  •  ['relative', true],
    
  •  ['interval', false],
    
  • ]),
    })
    relativenumber: boolean;

diff --git a/src/state/recordedState.ts b/src/state/recordedState.ts
index 322521e..1ceee1f 100644
--- a/src/state/recordedState.ts
+++ b/src/state/recordedState.ts
@@ -167,7 +167,7 @@ export class RecordedState {
mode !== ModeName.SearchInProgressMode &&
mode !== ModeName.CommandlineInProgress &&
(this.hasRunAMovement ||

  •    (mode === ModeName.Visual || mode === ModeName.VisualLine) ||
    
  •    mode === ModeName.Visual || mode === ModeName.VisualLine ||
       (this.operators.length > 1 &&
         this.operators.reverse()[0].constructor === this.operators.reverse()[1].constructor))
    
    );
    diff --git a/test/actions/baseAction.test.ts b/test/actions/baseAction.test.ts
    index ddd01a0..4172c8a 100644
    --- a/test/actions/baseAction.test.ts
    +++ b/test/actions/baseAction.test.ts
    @@ -12,7 +12,10 @@ class TestAction1D extends BaseAction {
    }

class TestAction2D extends BaseAction {

  • keys = [['a', 'b'], ['c', 'd']];
  • keys = [
  • ['a', 'b'],
  • ['c', 'd'],
  • ];
    modes = [ModeName.Normal];
    }

@@ -36,7 +39,14 @@ suite('base action', () => {
[[['a'], ['b']], ['c'], false],
[['a', 'b'], ['a', 'b'], true],
[['a', 'b'], ['a', 'c'], false],

  •  [[['a', 'b'], ['c', 'd']], ['c', 'd'], true],
    
  •  [
    
  •    [
    
  •      ['a', 'b'],
    
  •      ['c', 'd'],
    
  •    ],
    
  •    ['c', 'd'],
    
  •    true,
    
  •  ],
     [[''], ['a'], false],
     [['<Esc>'], ['<Esc>'], true],
    
    ];
    diff --git a/test/jumpTracker.test.ts b/test/jumpTracker.test.ts
    index 1da5fb0..2e89e5a 100644
    --- a/test/jumpTracker.test.ts
    +++ b/test/jumpTracker.test.ts
    @@ -170,7 +170,13 @@ suite('Record and navigate jumps', () => {
    // Note the column number was preserved for newer jump when it found duplicates on a line.
    assert.deepEqual(
    jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),
  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1'], [3, 5, 'file1'], [4, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •      [3, 5, 'file1'],
    
  •      [4, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting two lines`
     );
    

@@ -183,7 +189,12 @@ suite('Record and navigate jumps', () => {
// Preserve the newest jump in that case
assert.deepEqual(
jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),

  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1'], [3, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •      [3, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting another line`
     );
    

@@ -195,7 +206,11 @@ suite('Record and navigate jumps', () => {
// If you delete lines such that jumps are past EOF, delete the jumps
assert.deepEqual(
jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),

  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting all lines in file`
     );
    

    });
    diff --git a/test/testSimplifier.ts b/test/testSimplifier.ts
    index ba6176e..52a8e29 100644
    --- a/test/testSimplifier.ts
    +++ b/test/testSimplifier.ts
    @@ -27,7 +27,10 @@ export function getTestingFunctions() {

    test(testObj.title, async () =>
    testIt

  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

@@ -42,7 +45,10 @@ export function getTestingFunctions() {

 test.only(testObj.title, async () =>
   testIt
  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

@@ -56,7 +62,10 @@ export function getTestingFunctions() {

 test.skip(testObj.title, async () =>
   testIt
  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

Prettier Failed. Run [14:17:25] Using gulpfile ~/build/VSCodeVim/Vim/gulpfile.js
[14:17:25] Starting 'forceprettier'...
[14:17:41] Finished 'forceprettier' after 16 s and commit changes to resolve.


</details>


###### TravisBuddy Request Identifier: ae13e420-0c69-11ea-9489-798921b627f8

@TravisBuddy
Copy link

Travis tests have failed

Hey @DokyungHwang,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

Node.js: 8

View build log

if [[ $(git diff-index HEAD -- *.js *.ts *.md) ]]; then git diff; echo "Prettier Failed. Run `gulp forceprettier` and commit changes to resolve."; exit 1; fi
diff --git a/Korea/CODE_OF_CONDUCT.md b/Korea/CODE_OF_CONDUCT.md
index 81de4ec..de2aea7 100644
--- a/Korea/CODE_OF_CONDUCT.md
+++ b/Korea/CODE_OF_CONDUCT.md
@@ -7,7 +7,7 @@
 ## 우리의 책임
 
 프로젝트 매니저(Project Maintainer)는 다음과 같은 권리와 책임을 가지고 있습니다.
- 기여활동에 대해 삭제/편집 혹은 코멘트,커밋,코드작성,위키수정,이슈보고, 그리고 기타 규율을 지키지 않는 기여활동에 대해
+기여활동에 대해 삭제/편집 혹은 코멘트,커밋,코드작성,위키수정,이슈보고, 그리고 기타 규율을 지키지 않는 기여활동에 대해
 또한 임시/영구적으로 부적절한 행동을하고, 공격적으로 타인을 대하거나, 해로운 짓을 하는 사람을 추방(ban)할 수 있습니다.
 
 프로젝트 매니저는 다음 사항에 대한 수행 권리와 책임을 가지고 있습니다.
diff --git a/Korea/CONTRIBUTING.md b/Korea/CONTRIBUTING.md
index fa2fc59..f077ff9 100644
--- a/Korea/CONTRIBUTING.md
+++ b/Korea/CONTRIBUTING.md
@@ -6,7 +6,7 @@ VSCodeVim을 개선하는 데 도움을 주셔서 감사합니다! :clap:
 
 ## 이슈 제출
 
-[GitHub 이슈 트래커](https://github.com/VSCodeVim/Vim/issues)는 버그 및 개선 제안 추적에 선호되는 채널입니다. 
+[GitHub 이슈 트래커](https://github.com/VSCodeVim/Vim/issues)는 버그 및 개선 제안 추적에 선호되는 채널입니다.
 새로운 버그 리포트를 생성 할 때 :
 
 - 다른 사람이 이미 문제를보고했거나 아이디어를 요청했는지 확인하려면 기존 문제를 검색하십시오.
@@ -86,7 +86,7 @@ PR을 제출할 때 PR이 열릴 때 GitHub에서 제공하는 템플릿을 작
 
 #### vscode.window.onDidChangeTextEditorSelection
 
-이것은 클릭 이벤트 기반 API가없는 IDE에서 클릭 이벤트를 시뮬레이트하는 나의 핵입니다 (아직?). 방금 들어온 선택 항목을 확인하여 이전에 상태 시스템을 마지막으로 업데이트했을 때 선택 항목을 설정했다고 생각한 것과 같은지 확인합니다. 그렇지 않은 경우 사용자가 클릭했을 수 있습니다. (그러나 아마도 또한  탭을 완성 할 수도있었습니다!)
+이것은 클릭 이벤트 기반 API가없는 IDE에서 클릭 이벤트를 시뮬레이트하는 나의 핵입니다 (아직?). 방금 들어온 선택 항목을 확인하여 이전에 상태 시스템을 마지막으로 업데이트했을 때 선택 항목을 설정했다고 생각한 것과 같은지 확인합니다. 그렇지 않은 경우 사용자가 클릭했��� 수 있습니다. (그러나 아마도 또한 탭을 완성 할 수도있었습니다!)
 
 ## 배포
 
diff --git a/Korea/README.md b/Korea/README.md
index e233dea..c0e76ed 100644
--- a/Korea/README.md
+++ b/Korea/README.md
@@ -6,7 +6,7 @@
 [![https://travis-ci.org/VSCodeVim/Vim](https://travis-ci.org/VSCodeVim/Vim.svg?branch=master)](https://travis-ci.org/VSCodeVim/Vim)
 [![https://vscodevim.herokuapp.com/](https://img.shields.io/badge/vscodevim-slack-blue.svg?logo=slack)](https://vscodevim.herokuapp.com/)
 
-VSCodeVim은  [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim emulation입니다.
+VSCodeVim은 [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim emulation입니다.
 
 - 🚚 지원되는 Vim 기능의 전체 목록은 [로드맵]을 참조하십시오.(ROADMAP.md).
 - 📃 [변경된 로그](CHANGELOG.md)에는 릴리스 간 주요 / 주요 / 최소 업데이트가 요약되어 있습니다.
@@ -44,7 +44,7 @@ VSCodeVim은  [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim
 
 ## 💾 설치
 
-VSCodeVim은 VS Code를  [설치](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) 하고 다시로드 한 후에 자동으로 활성화됩니다.
+VSCodeVim은 VS Code를 [설치](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) 하고 다시로드 한 후에 자동으로 활성화됩니다.
 
 > :warning: Vimscript는 지원되지 않습니다. 따라서 `.vimrc`를로드하거나 `.vim` vim 플러그인을 사용할 수 없습니다. [설정](#settings)과 [Emulated plugins](#-emulated-plugins)을 사용하여 이것을 복제해야합니다.
 
@@ -108,7 +108,7 @@ $ defaults delete -g ApplePressAndHoldEnabled
 
 이 설정은 VSCodeVim에만 적용됩니다.
 
-| 셋팅                          | 설명                                                                                                                                                                                                                                                                                                                                                                                                                      | 타입    | 기본값                         |
+| 셋팅                             | 설명                                                                                                                                                                                                                                                                                                                                                                                                                             | 타입    | 기본값                                |
 | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------- |
 | vim.changeWordIncludesWhitespace | Include trailing whitespace when changing word. This configures the <kbd>cw</kbd> action to act consistently as its siblings (<kbd>yw</kbd> and <kbd>dw</kbd>) instead of acting as <kbd>ce</kbd>.                                                                                                                                                                                                                               | Boolean | false                                 |
 | vim.cursorStylePerMode._{Mode}_  | Configure a specific cursor style for _{Mode}_. Omitted modes will use [default cursor type](https://github.com/VSCodeVim/Vim/blob/4a6fde6dbd4d1fac1f204c0dc27c32883651ef1a/src/mode/mode.ts#L34) Supported cursors: line, block, underline, line-thin, block-outline, and underline-thin.                                                                                                                                       | String  | None                                  |
@@ -135,12 +135,12 @@ $ defaults delete -g ApplePressAndHoldEnabled
 Ex-command에 neovim을 활용하려면,
 
 1.  [neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim)을 설치하세요
-2. 다음 구성을 수정하세요:
+2.  다음 구성을 수정하세요:
 
-| 환경          | 설명                    | 타입    | 기본 값 |
-| ---------------- | ------------------------------ | ------- | ------------- |
-| vim.enableNeovim |  Neovim 활성화                  | Boolean | false         |
-| vim.neovimPath   | neovim 실행 파일의 전체 경로 | String  |               |
+| 환경             | 설명                         | 타입    | 기본 값 |
+| ---------------- | ---------------------------- | ------- | ------- |
+| vim.enableNeovim | Neovim 활성화                | Boolean | false   |
+| vim.neovimPath   | neovim 실행 파일의 전체 경로 | String  |         |
 
 neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 있습니다:
 
@@ -190,7 +190,7 @@ neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 
     ]

-- <leader>m 을 바인드하여 책갈피를 추가하고 <leader>b를 사용하여 모든 책갈피 목록을 여십시오 (북마크 확장자 사용):
+- <leader>m 을 바인드하여 책갈피를 추가하고 <leader>b를 사용하여 모든 책갈피 목록을 여십시오 (북마크 확장자 사용):

    "vim.normalModeKeyBindingsNonRecursive": [
@@ -303,7 +303,7 @@ neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 
#### `"vim.insertModeKeyBindingsNonRecursive"`/`"normalModeKeyBindingsNonRecursive"`/`"visualModeKeyBindingsNonRecursive"`

- 비 재귀 키 바인딩은 삽입, 일반 및 시각적 모드에 사용하도록 재정의합니다.
-- _예:_  `j` 를 `gj`에 바인드하십시오.이 바인딩을 정상적으로 시도하면 gj의 j는 계속해서 gj로 확장됩니다. insertModeKeyBindingsNonRecursive 및 / 또는 normalModeKeyBindingNonRecursive를 사용하여이 순환 확장을 중지하십시오.
+- _예:_ `j` 를 `gj`에 바인드하십시오.이 바인딩을 정상적으로 시도하면 gj의 j는 계속해서 gj로 확장됩니다. insertModeKeyBindingsNonRecursive 및 / 또는 normalModeKeyBindingNonRecursive를 사용하여이 순환 확장을 중지하십시오.

```json
    "vim.normalModeKeyBindingsNonRecursive": [
@@ -350,20 +350,20 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니
3.  VS Code 설정
4.  VSCodeVim 기본 값

-| 환경          | 설명                                                                                                                                                                                                                                                           | 타입    | 기본 값 |
-| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------- |
-| vim.autoindent   | 새 줄을 시작할 때 현재 줄에서 들여 쓰기                                                                                                                                                                                                               | Boolean | true          |
-| vim.hlsearch     | 현재 검색과 일치하는 모든 텍스트를 강조 표시합니다                                                                                                                                                                                                                          | Boolean | false         |
-| vim.ignorecase   | 검색 패턴에서 대소 문자 무시                                                                                                                                                                                                                          | Boolean | true          |
-| vim.incsearch    | 검색을 입력하는 동안 다음 매치 표시                                                                                                                                                                                                                           | Boolean | true          |
-| vim.leader       | 키 재 매핑에 사용될`<leader>`의 키를 정의합니다                                                                                                                                                                                                               | String  | `\`           |
-| vim.showcmd      | 상태 표시 줄에 (부분) 명령 표시                                                                                                                                                                                                                     | Boolean | true          |
-| vim.showmodename | 상태 표시 줄에 현재 모드 이름 표시                                                                                                                                                                                                                           | Boolean | true          |
-| vim.smartcase    | 검색 패턴에 대문자가 포함 된 경우 '무시'설정을 대체하십시오.                                                                                                                                                                                     | Boolean | true          |
-| vim.textwidth    | `gq`를 사용할 때 너비를 자동 줄 바꿈                                                                                                                                                                                                                                    | Number  | 80            |
-| vim.timeout      | 재 매핑 된 명령에 대한 시간 초과 (밀리 초)                                                                                                                                                                                                                      | Number  | 1000          |
-| vim.whichwrap    | 줄의 시작과 끝에서 줄 바꿈을 제어합니다. 다음 / 이전 행으로 줄 바꿈해야하는 쉼표로 구분 된 키 집합입니다. 화살표 키는 삽입 모드에서 `[`  및  `]` 로 표시되며 일반 및 시각적 모드에서는`<` 및  `>` 로 표시됩니다. "everything"을 감싸려면 이것을`h,l,<,>,[,]`로 설정하십시오. | String  | ``            |
-| vim.report       |라인 수 보고에 대한 임계 값이 변경되었습니다.                                                                                                                                                                                                                     | Number  | 2             |
+| 환경             | 설명                                                                                                                                                                                                                                                                      | 타입    | 기본 값 |
+| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------- |
+| vim.autoindent   | 새 줄을 시작할 때 현재 줄에서 들여 쓰기                                                                                                                                                                                                                                   | Boolean | true    |
+| vim.hlsearch     | 현재 검색과 일치하는 모든 텍스트를 강조 표시합니다                                                                                                                                                                                                                        | Boolean | false   |
+| vim.ignorecase   | 검색 패턴에서 대소 문자 무시                                                                                                                                                                                                                                              | Boolean | true    |
+| vim.incsearch    | 검색을 입력하는 동안 다음 매치 표시                                                                                                                                                                                                                                       | Boolean | true    |
+| vim.leader       | 키 재 매핑에 사용될`<leader>`의 키를 정의합니다                                                                                                                                                                                                                           | String  | `\`     |
+| vim.showcmd      | 상태 표시 줄에 (부분) 명령 표시                                                                                                                                                                                                                                           | Boolean | true    |
+| vim.showmodename | 상태 표시 줄에 현재 모드 이름 표시                                                                                                                                                                                                                                        | Boolean | true    |
+| vim.smartcase    | 검색 패턴에 대문자가 포함 된 경우 '무시'설정을 대체하십시오.                                                                                                                                                                                                              | Boolean | true    |
+| vim.textwidth    | `gq`를 사용할 때 너비를 자동 줄 바꿈                                                                                                                                                                                                                                      | Number  | 80      |
+| vim.timeout      | 재 매핑 된 명령에 대한 시간 초과 (밀리 초)                                                                                                                                                                                                                                | Number  | 1000    |
+| vim.whichwrap    | 줄의 시작과 끝에서 줄 바꿈을 제어합니다. 다음 / 이전 행으로 줄 바���해야하는 쉼표로 구분 된 키 집합입니다. 화살표 키는 삽입 모드에서 `[` 및 `]` 로 표시되며 일반 및 시각적 모드에서는`<` 및 `>` 로 표시됩니다. "everything"을 감싸려면 이것을`h,l,<,>,[,]`로 설정하십시오. | String  | ``      |
+| vim.report       | 라인 수 보고에 대한 임계 값이 변경되었습니다.                                                                                                                                                                                                                             | Number  | 2       |

## 🖱️ 멀티커서모드

@@ -372,7 +372,7 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니
다음으로 다중 커서 모드로 들어갑니다:

- On OSX, `cmd-d`. On Windows, `ctrl-d`.
-- `gb` `cmd-d` (OSX) 또는 `ctrl-d`  (Windows)에 해당하는 새로운 바로 가기가 추가되었습니다. 다음 단어에 커서가 현재있는 단어와 일치하는 다른 커서를 추가합니다.
+- `gb` `cmd-d` (OSX) 또는 `ctrl-d` (Windows)에 해당하는 새로운 바로 가기가 추가되었습니다. 다음 단어에 커서가 현재있는 단어와 일치하는 다른 커서를 추가합니다.
- "Add Cursor Above/Below"을 실행하거나 다른 플랫폼으로 빠르게 접근하기.

커서가 여러 개 있으면 Vim 명령을 사용할 수 있습니다. 대부분 작동해야합니다. 일부는 지원되지 않습니다(참조 [PR#587](https://github.com/VSCodeVim/Vim/pull/587)).
@@ -386,7 +386,7 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니

> :warning: 이 플러그인을 사용하면 성능에 영향을 미칩니다. 상태 표시 줄을 변경하기 위해 작업 공간 settings.json의 구성을 재정 의하여 작업 디렉토리의 대기 시간이 증가하고 diff가 지속적으로 변경됩니다(참조 [이슈#2124](https://github.com/VSCodeVim/Vim/issues/2124)).

-현재 모드에 따라 상태 표시 줄의 색상을 변경하십시오. 활성화되면`"vim.statusBarColors"`를 구성하십시오. 각 모드의 색상은 `string`  (배경 만) 또는 `string[]` (배경, 전경)로 정의 할 수 있습니다.
+현재 모드에 따라 상태 표시 줄의 색상을 변경하십시오. 활성화되면`"vim.statusBarColors"`를 구성하십시오. 각 모드의 색상은 `string` (배경 만) 또는 `string[]` (배경, 전경)로 정의 할 수 있습니다.

```json
    "vim.statusBarColorControl": true,
@@ -402,24 +402,24 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니

[vim-easymotion](https://github.com/easymotion/vim-easymotion)을 기반으로하며 다음 설정을 통해 구성됩니다:

-| 환경                                    | 설명                                                                                                                                                                                                                                                       | 타입           | 기본값  |
+| 환경                                       | 설명                                                                                                                                                                                                                                                              | 타입           | 기본값         |
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- |
-| vim.easymotion                             | easymotion 플러그인 활성화 / 비활성화                                                                                                                                                                                                                                  | Boolean        | false          |
-| vim.easymotionMarkerBackgroundColor        | 마커 상자의 배경색입니다.                                                                                                                                                                                                                          |
-| vim.easymotionMarkerForegroundColorOneChar | 한 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                                                        |
-| vim.easymotionMarkerForegroundColorTwoChar | 한 문자 마커와 구별하는 데 사용되는 두 문자 마커의 글꼴 색상입니다.                                                                                                                                                                       |
-| vim.easymotionMarkerWidthPerChar           | 각 문자에 할당 된 너비 (픽셀)입니다.                                                                                                                                                                                                                 |
-| vim.easymotionMarkerHeight                 |마커의 높이입니다.                                                                                                                                                                                                                                       |
-| vim.easymotionMarkerFontFamily             | 마커 텍스트에 사용 된 글꼴 모음입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerFontSize               | 마커 텍스트에 사용되는 글꼴 크기입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerFontWeight             | 마커 텍스트에 사용 된 글꼴 굵기입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerYOffset                | 마커 상단과 텍스트 사이의 거리 (일반적으로 높이 또는 글꼴 크기가 변경된 경우 약간의 조정이 필요함).                                                                                                                           |
-| vim.easymotionKeys                         | 점프 마커 이름에 사용되는 문자                                                                                                                                                                                                                          |
+| vim.easymotion                             | easymotion 플러그인 활성화 / 비활성화                                                                                                                                                                                                                             | Boolean        | false          |
+| vim.easymotionMarkerBackgroundColor        | 마커 상자의 배경색입니다.                                                                                                                                                                                                                                         |
+| vim.easymotionMarkerForegroundColorOneChar | 한 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                                                                   |
+| vim.easymotionMarkerForegroundColorTwoChar | 한 문자 마커와 구별하는 데 사용되는 두 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                               |
+| vim.easymotionMarkerWidthPerChar           | 각 문자에 할당 된 너비 (픽셀)입니다.                                                                                                                                                                                                                              |
+| vim.easymotionMarkerHeight                 | 마커의 높이입니다.                                                                                                                                                                                                                                                |
+| vim.easymotionMarkerFontFamily             | 마커 텍스트에 사용 된 글꼴 모음입니다.                                                                                                                                                                                                                            |
+| vim.easymotionMarkerFontSize               | 마커 텍스트에 사용되는 글꼴 크기입니다.                                                                                                                                                                                                                           |
+| vim.easymotionMarkerFontWeight             | 마커 텍스트에 사용 된 글꼴 굵기입니다.                                                                                                                                                                                                                            |
+| vim.easymotionMarkerYOffset                | 마커 상단과 텍스트 사이의 거리 (일반적으로 높이 또는 글꼴 크기가 변경된 경우 약간의 조정이 필요함).                                                                                                                                                               |
+| vim.easymotionKeys                         | 점프 마커 이름에 사용되는 문자                                                                                                                                                                                                                                    |
| vim.easymotionJumpToAnywhereRegex          | Custom regex to match for JumpToAnywhere motion (analogous to `Easymotion_re_anywhere`). Example setting (which also matches start & end of line, as well as Javascript comments in addition to the regular behavior (note the double escaping required): ^\\s\*. | \\b[A-Za-z0-9] | [A-Za-z0-9]\\b | \_. | \\#. | [a-z][a-z] | // | .\$" |

easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하십시오. 모션을 시작하면 텍스트 데코레이터 / 마커가 표시되며 표시된 키를 눌러 해당 위치로 이동할 수 있습니다. `leader`는 설정이 가능하며 기본적으로`\` 입니다.

-| Motion 명령어                      | 설명                                                                                                 |
+| Motion 명령어                       | 설명                                                                                                        |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `<leader><leader> s <char>`         | Search character                                                                                            |
| `<leader><leader> f <char>`         | Find character forwards                                                                                     |
@@ -450,23 +450,23 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

[surround.vim](https://github.com/tpope/vim-surround)을 기반으로 플러그인은 괄호, 괄호, 따옴표 및 XML 태그와 같은 주변 문자를 처리하는 데 ���용됩니다.

-| 설정      | 설명                 | 타입    | 기본값 |
-| ------------ | --------------------------- | ------- | ------------- |
-| vim.surround | Enable/disable vim-surround | Boolean | true          |
+| 설정         | 설명                        | 타입    | 기본값 |
+| ------------ | --------------------------- | ------- | ------ |
+| vim.surround | Enable/disable vim-surround | Boolean | true   |

`<desired char>`또는`<existing char>`로`t` 또는`<`는 태그를 수행하고 태그 입력 모드로 들어갑니다. `>`대신`<CR>`을 사용하여 태그 변경을 마치면 기존 속성이 유지됩니다.

-| Surround Command                     | 설명                                                           |
+| Surround Command                     | 설명                                                                  |
| ------------------------------------ | --------------------------------------------------------------------- |
-| `d s <existing char>`                | 기존 서라운드 삭제                                              |
+| `d s <existing char>`                | 기존 서라운드 삭제                                                    |
| `c s <existing char> <desired char>` | Change surround existing to desired                                   |
| `y s <motion> <desired char>`        | Surround something with something using motion (as in "you surround") |
| `S <desired char>`                   | Surround when in visual modes (surrounds full selection)              |

몇가지 예:

-- ` 'test'`로 끝나기 위해 인용 부호 안에 cs를 입력 한`'test'`
-- `test``로 끝나는 인용 부호 ds 안에 커서가있는 "test"`
+- `'test'`로 끝나기 위해 인용 부호 안에 cs를 입력 한`'test'`
+- ` test``로 끝나는 인용 부호 ds 안에 커서가있는 "test" `
- `"test"` with cursor inside quotes type cs"t and enter 123> to end up with `<123>test</123>`
- 단어 테스트 유형 ysaw에 커서가있는`test`는`(test)`로 끝납니다.

@@ -480,11 +480,12 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하
- `gC`-블록 주석 토글. 예를 들어`gCi)`는 괄호 안의 모든 것을 주석 처리합니다.

### vim-indent-object
+
[vim-indent-object](https://github.com/michaeljsmith/vim-indent-object)를 기반으로하여 현재 들여 쓰기 수준의 코드 블록을 텍스트 객체로 처리 할 수 있습니다. 문장 주위에 중괄호를 사용하지 않는 언어 (예 : Python)에서 유용합니다.

여는 중괄호 / 태그 사이에 새로운 줄이 있다면, 그것은 무시할 수있는`cib` /`ci {`/`ci [`/`cit`로 간주 될 수 있습니다.

-| 명령어        | 설명                                                                                          |
+| 명령어         | 설명                                                                                                 |
| -------------- | ---------------------------------------------------------------------------------------------------- |
| `<operator>ii` | This indentation level                                                                               |
| `<operator>ai` | This indentation level and the line above (think `if` statements in Python)                          |
@@ -494,14 +495,14 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

[vim-sneak](https://github.com/justinmk/vim-sneak)를 기반으로 두 문자로 지정된 위치로 이동할 수 있습니다.

-| 환경                            | 설명                                                 | 타입    | 기본 값 |
-| ---------------------------------- | ----------------------------------------------------------- | ------- | ------------- |
-| vim.sneak                          | Enable/disable vim-sneak                                    | Boolean | false         |
-| vim.sneakUseIgnorecaseAndSmartcase | Respect `vim.ignorecase` and `vim.smartcase` while sneaking | Boolean | false         |
+| 환경                               | 설명                                                        | 타입    | 기본 값 |
+| ---------------------------------- | ----------------------------------------------------------- | ------- | ------- |
+| vim.sneak                          | Enable/disable vim-sneak                                    | Boolean | false   |
+| vim.sneakUseIgnorecaseAndSmartcase | Respect `vim.ignorecase` and `vim.smartcase` while sneaking | Boolean | false   |

몰래 활성화되면 다음 명령을 사용하여 모션을 시작하십시오. 연산자 sneak은`s` 대신`z`를 사용합니다. `s`는 이미 서라운드 플러그인에 의해 사용되기 때문입니다.

-| Motion 명령            | 설명                                                             |
+| Motion 명령               | 설명                                                                    |
| ------------------------- | ----------------------------------------------------------------------- |
| `s<char><char>`           | Move forward to the first occurrence of `<char><char>`                  |
| `S<char><char>`           | Move backward to the first occurrence of `<char><char>`                 |
@@ -510,15 +511,15 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

### CamelCaseMotion

-정확한 에뮬레이션은 아니지만  [CamelCaseMotion](https://github.com/bkad/CamelCaseMotion)을 기반으로합니다. 이 플러그인은 camelCase 및 snake_case 단어를 쉽게 이동할 수있는 방법을 제공합니다.
+정확한 에뮬레이션은 아니지만 [CamelCaseMotion](https://github.com/bkad/CamelCaseMotion)을 기반으로합니다. 이 플러그인은 camelCase 및 snake_case 단어를 쉽게 이동할 수있는 방법을 제공합니다.

-| 환경                    | 설명                    | 타입    | 기본 값 |
-| -------------------------- | ------------------------------ | ------- | ------------- |
-| vim.camelCaseMotion.enable | Enable/disable CamelCaseMotion | Boolean | false         |
+| 환경                       | 설명                           | 타입    | 기본 값 |
+| -------------------------- | ------------------------------ | ------- | ------- |
+| vim.camelCaseMotion.enable | Enable/disable CamelCaseMotion | Boolean | false   |

CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.

-| Motion 명령어         | 설명                                                                |
+| Motion 명령어          | 설명                                                                       |
| ---------------------- | -------------------------------------------------------------------------- |
| `<leader>w`            | Move forward to the start of the next camelCase or snake_case word segment |
| `<leader>e`            | Move forward to the next end of a camelCase or snake_case word segment     |
@@ -531,7 +532,7 @@ CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.

삽입 모드를 종료 할 때 입력 방법을 비활성화하십시오.

-| 환경                                 | 설명                                                                                      |
+| 환경                                    | 설명                                                                                             |
| --------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `vim.autoSwitchInputMethod.enable`      | Boolean denoting whether autoSwitchInputMethod is on/off.                                        |
| `vim.autoSwitchInputMethod.defaultIM`   | Default input method.                                                                            |
@@ -541,68 +542,67 @@ CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.
모든 타사 프로그램을 사용하여 입력 방법을 전환 할 수 있습니다. 다음은 [im-select](https://github.com/daipeihust/im-select)를 사용하여 구성을 안내합니다..

1. im-select 설치하기 (참조 [installation guide](https://github.com/daipeihust/im-select#installation))
-1.  기본 입력 방법 키 찾기
+1. 기본 입력 방법 키 찾기

-    - Mac:
+   - Mac:

-      입력 방법을 영어로 전환하고 터미널에서 `/<path-to-im-select-installation>/im-select` 를 실행하여 기본 입력 방법을 출력하십시오. 아래 표에는 MacOS의 일반적인 영어 키 레이아웃이 나와 있습니다.
+     입력 방법을 영어로 전환하고 터미널에서 `/<path-to-im-select-installation>/im-select` 를 실행하여 기본 입력 방법을 출력하십시오. 아래 표에는 MacOS의 일반적인 영어 키 레이아웃이 나와 있습니다.

-      | Key                            | 설명 |
-      | ------------------------------ | ----------- |
-      | com.apple.keylayout.US         | U.S.        |
-      | com.apple.keylayout.ABC        | ABC         |
-      | com.apple.keylayout.British    | British     |
-      | com.apple.keylayout.Irish      | Irish       |
-      | com.apple.keylayout.Australian | Australian  |
-      | com.apple.keylayout.Dvorak     | Dvorak      |
-      | com.apple.keylayout.Colemak    | Colemak     |
+     | Key                            | 설명       |
+     | ------------------------------ | ---------- |
+     | com.apple.keylayout.US         | U.S.       |
+     | com.apple.keylayout.ABC        | ABC        |
+     | com.apple.keylayout.British    | British    |
+     | com.apple.keylayout.Irish      | Irish      |
+     | com.apple.keylayout.Australian | Australian |
+     | com.apple.keylayout.Dvorak     | Dvorak     |
+     | com.apple.keylayout.Colemak    | Colemak    |

-    - Windows:
+   - Windows:

-      입력 방법 키를 검색하는 방법은[im-select guide](https://github.com/daipeihust/im-select#to-get-current-keyboard-locale) 안내서를 참조하십시오.  일반적으로 키보드 레이아웃이 en_US 인 경우 입력 방법 키는 1033 (en_US의 로캘 ID)입니다. `LCID Decimal`열이 로컬 ID인 [이 페이지](https://www.science.co.il/language/Locale-codes.php)에서 로컬 ID를 찾을 수도 있습니다.
+     입력 방법 키를 검색하는 방법은[im-select guide](https://github.com/daipeihust/im-select#to-get-current-keyboard-locale) 안내서를 참조하십시오. 일반적으로 키보드 레이아웃이 en_US 인 경우 입력 방법 키는 1033 (en_US의 로캘 ID)입니다. `LCID Decimal`열이 로컬 ID인 [이 페이지](https://www.science.co.il/language/Locale-codes.php)에서 로컬 ID를 찾을 수도 있습니다.

-1.  Configure `vim.autoSwitchInputMethod`.
+1. Configure `vim.autoSwitchInputMethod`.

-    - MacOS:
+   - MacOS:

-       `com.apple.keylayout.US` 과 `im-select` 은  `/usr/local/bin`에 있다. 구성은 다음과 같다.:
+     `com.apple.keylayout.US` 과 `im-select` 은 `/usr/local/bin`에 있다. 구성은 다음과 같다.:

-      ```json
-      "vim.autoSwitchInputMethod.enable": true,
-      "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US",
-      "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
-      "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
-      ```
+     ```json
+     "vim.autoSwitchInputMethod.enable": true,
+     "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US",
+     "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
+     "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
+     ```

-    - Windows:
+   - Windows:

-       `1033`  (en_US)과 `im-select.exe` 의 입력 방법 키는`D:/bin`에 있습니다. 구성은 다음과 같습니다:
+     `1033` (en_US)과 `im-select.exe` 의 입력 방법 키는`D:/bin`에 있습니다. 구성은 다음과 같습니다:

-      ```json
-      "vim.autoSwitchInputMethod.enable": true,
-      "vim.autoSwitchInputMethod.defaultIM": "1033",
-      "vim.autoSwitchInputMethod.obtainIMCmd": "D:\\bin\\im-select.exe",
-      "vim.autoSwitchInputMethod.switchIMCmd": "D:\\bin\\im-select.exe {im}"
-      ```
+     ```json
+     "vim.autoSwitchInputMethod.enable": true,
+     "vim.autoSwitchInputMethod.defaultIM": "1033",
+     "vim.autoSwitchInputMethod.obtainIMCmd": "D:\\bin\\im-select.exe",
+     "vim.autoSwitchInputMethod.switchIMCmd": "D:\\bin\\im-select.exe {im}"
+     ```

위의`{im}`인수는 입력 방법을 나타내는 `im-select` 에 전달되는 명령 행 옵션입니다. 대체 프로그램을 사용하여 입력 방법을 전환하는 경우 유사한 옵션을 구성에 추가해야합니다. 예를 들어, 입력 방법을 전환하기 위해 프로그램의 사용법이`my-program -s imKey` 인 경우,`vim.autoSwitchInputMethod.switchIMCmd` 는 `/path/to/my-program -s {im}`이어야합니다.

-
### ReplaceWithRegister

- [ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister)를 기반으로 기존 텍스트를 레지스터의 내용으로 쉽게 바꿀 수 있습니다.
+[ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister)를 기반으로 기존 텍스트를 레지스터의 내용으로 쉽게 바꿀 수 있습니다.

-| 환경                 | 설명                        | 타입    | 기본 값 |
-| ----------------------- | ---------------------------------- | ------- | ------------- |
-| vim.replaceWithRegister | Enable/disable ReplaceWithRegister | Boolean | false         |
+| 환경                    | 설명                               | 타입    | 기본 값 |
+| ----------------------- | ---------------------------------- | ------- | ------- |
+| vim.replaceWithRegister | Enable/disable ReplaceWithRegister | Boolean | false   |

-활성화되면`gr`  (예 : "go replace")을 입력 한 다음 레지스터 내용으로 대체하려는 텍스트를 설명하는 동작을 입력하십시오.
+활성화되면`gr` (예 : "go replace")을 입력 한 다음 레지스터 내용으로 대체하려는 텍스트를 설명하는 동작을 입력하십시오.

-| Motion 명령어          | 설명                                                                             |
-| ----------------------- | --------------------------------------------------------------------------------------- |
-| `[count]["a]gr<motion>` |모션에 설명 된 텍스트를 지정된 레지스터의 내용으로 바꿉니다.   |
-| `[count]["a]grr`        |  \[count\] 줄 또는 현재 줄을 지정된 레지스터의 내용으로 바꿉니다.|
-| `{Visual}["a]gr`        | 선택한 레지스터를 지정된 레지스터의 내용으로 바꿉니다.       |
+| Motion 명령어           | 설명                                                             |
+| ----------------------- | ---------------------------------------------------------------- |
+| `[count]["a]gr<motion>` | 모션에 설명 된 텍스트를 지정된 레지스터의 내용으로 바꿉니다.     |
+| `[count]["a]grr`        | \[count\] 줄 또는 현재 줄을 지정된 레지스터의 내용으로 바꿉니다. |
+| `{Visual}["a]gr`        | 선택한 레지스터를 지정된 레지스터의 내용으로 바꿉니다.           |

## 🎩 VSCodeVim 트릭!

@@ -628,35 +628,35 @@ VSCode에는 멋진 트릭이 많이 있으며 그 중 일부를 보존하려고

  당신은 Mac유저 입니까? [mac-setup](#mac) 지침을 살펴 보셨습니까?

--  `<esc>`로 닫을 수없는 성가신 정보 / 알림 / 팝업이 있습니다! ! 그리고 나는 단편적인 지식 밖에 없어 좀 더 알고 싶습니다.
+- `<esc>`로 닫을 수없는 성가신 정보 / 알림 / 팝업이 있습니다! ! 그리고 나는 단편적인 지식 밖에 없어 좀 더 알고 싶습니다.

-  `shift+<esc>` 를 눌러 모든 상자를 닫으십���오.
+`shift+<esc>` 를 눌러 모든 상자를 닫으십시오.

- Zen 모드 또는 상태 표시 줄이 비활성화 된 경우 명령 줄을 사용하려면 어떻게해야합니까?

-   이 확장 기능은 재 맵핑 가능한 명령을 표시하여 vscode 스타일의 빠른 선택, 제한된 기능 버전의 명령 줄을 보여줍니다. VS 코드의 keybindings.json 설정 파일에서 다음과 같이 다시 매핑 할 수 있습니다.
+이 확장 기능은 재 맵핑 가능한 명령을 표시하여 vscode 스타일의 빠른 선택, 제한된 기능 버전의 명령 줄을 보여줍니다. VS 코드의 keybindings.json 설정 파일에서 다음과 같이 다시 매핑 할 수 있습니다.

-  ```json
-  {
-    "key": "shift+;",
-    "command": "vim.showQuickpickCmdLine",
-    "when": "editorTextFocus && vim.mode != 'Insert'"
-  }
-  ```
+```json
+{
+  "key": "shift+;",
+  "command": "vim.showQuickpickCmdLine",
+  "when": "editorTextFocus && vim.mode != 'Insert'"
+}
+```

-  Or for Zen mode only:
+Or for Zen mode only:

-  ```json
-  {
-    "key": "shift+;",
-    "command": "vim.showQuickpickCmdLine",
-    "when": "inZenMode && vim.mode != 'Insert'"
-  }
-  ```
+```json
+{
+  "key": "shift+;",
+  "command": "vim.showQuickpickCmdLine",
+  "when": "inZenMode && vim.mode != 'Insert'"
+}
+```

- 단어 줄 바꿈을 사용하여 각 표시 줄에서 커서를 어떻게 이동합니까?

-  단어 줄 바꿈이 있고<kbd>j</kbd>, <kbd>k</kbd>, <kbd>↓</kbd> 또는 <kbd>↑</kbd>를 사용할 때 커서가 줄 바꿈 된 각 줄에 들어가도록하려면  keybindings.json 설정 파일에서 다음을 설정하십시오.
+  단어 줄 바꿈이 있고<kbd>j</kbd>, <kbd>k</kbd>, <kbd>↓</kbd> 또는 <kbd>↑</kbd>를 사용할 때 커서가 줄 바꿈 된 각 줄에 들어가도록하려면 keybindings.json 설정 파일에서 다음을 설정하십시오.

  <!-- prettier-ignore -->
  ```json
diff --git a/Korea/STYLE.md b/Korea/STYLE.md
index 8e359a6..8ff950d 100644
--- a/Korea/STYLE.md
+++ b/Korea/STYLE.md
@@ -17,7 +17,7 @@
- `const`를 사용할 수 없다면, `let`을 사용하십시오; 절대 `var`은 안됩니다.

  **이론적 근거:** `var`은 많은 경우 프로그래머를 trips합니다 - hoisting and closure capture는 두 가지 큰 요소입니다.
-차이점을 고려하십시오.
+  차이점을 고려하십시오.

for (var j = 0; j < 5; j++) { setTimeout(() => console.log(j), 5) }
diff --git a/ROADMAP.md b/ROADMAP.md
index a7bb6ea..aaec352 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -18,24 +18,24 @@

이들은 Vim의 큰 기능으로, 일반적���로 구현할 순서대로되어 있습니다.

- Status Command
- 일반 모드
- 삽입 모드
- 비주얼 모드
- 비주얼 라인 모드
- 숫자 접두사
- . 연산자
- / 과 ? 로 검색
- 실행 취소 / 재실행
- ⚠️ 명령 재 매핑
- ⚠️ 마크
- 텍스트 객체
- 비주얼 블록 모드
- 교체 모드
- 다중 선택 모드
- ⚠️ 매크로
- ⚠️ Buffer/Window/Tab
+ Status Command
+ ------------------ ------------------
+ 일반 모드
+ 삽입 모드
+ 비주얼 모드
+ 비주얼 라인 모드
+ 숫자 접두사
+ . 연산자
+ / 과 ? 로 검색
+ 실행 취소 / 재실행
+ ⚠️ 명령 재 매핑
+ ⚠️ 마크
+ 텍스트 객체
+ 비주얼 블록 모드
+ 교체 모드
+ 다중 선택 모드
+ ⚠️ 매크로
+ ⚠️ Buffer/Window/Tab

이제 우리가 찾을 수있는 모든 알려진 Vim 명령의 전체 목록을 따릅니다.

@@ -46,193 +46,193 @@

좌우 동작

- Status Command Description
- 🔢 h 왼쪽 (또한 CTRL-H, BS 또는 왼쪽 키)
- 🔢 l 오른쪽 (또한 스페이스 또는 오른쪽 키)
- 0 줄의 첫 번째 문자 (또한 Home 키)
- ^ 행의 첫 번��� 공백이 아닌 문자
- 🔢 $ 줄의 마지막 문자 (N-1 줄 아래) (또한 End 키)
- g0 화면 줄의 첫 문자 (줄 바꿈시 "0"과 다름)
- g^ 화면 줄에서 공백이 아닌 첫 문자로 줄 바꾸기 (줄 바꿈시 "^"와 다름)
- 🔢 g$ 화면 줄의 마지막 문자 (줄 바꿈시 "\ $"와 다름)
- gm 화면 라인의 중간
- 🔢 | N 열까지 (기본값 : 1)
- 🔢 f{char} 오른쪽으로 {char}의 N 번째 발생
- 🔢 F{char} 왼쪽으로 {char}의 N 번째 발생
- 🔢 t{char} 오른쪽으로 {char}의 N 번째 발생 전까지
- 🔢 T{char} 왼쪽으로 {char}의 N 번째 발생 전까지
- 🔢 ; 마지막 "f", "F", "t"또는 "T"N 번 반복
- 🔢 , 반대 방향으로 마지막 "f", "F", "t"또는 "T"N 번 반복
+ Status Command Description
+ ------------------ -------------- ------------------------------------------------------------------
+ 🔢 h 왼쪽 (또한 CTRL-H, BS 또는 왼쪽 키)
+ 🔢 l 오른쪽 (또한 스페이스 또는 오른쪽 키)
+ 0 줄의 첫 번째 문자 (또한 Home 키)
+ ^ 행의 첫 번째 공백이 아닌 문자
+ 🔢 $ 줄의 마지막 문자 (N-1 줄 아래) (또한 End 키)
+ g0 화면 줄의 첫 문자 (줄 바꿈시 "0"과 다름)
+ g^ 화면 줄에서 공백이 아닌 첫 문자로 줄 바꾸기 (줄 바꿈시 "^"와 다름)
+ 🔢 g$ 화면 줄의 마지막 문자 (줄 바꿈시 "\ $"와 다름)
+ gm 화면 라인의 중간
+ 🔢 | N 열까지 (기본값 : 1)
+ 🔢 f{char} 오른쪽으로 {char}의 N 번째 발생
+ 🔢 F{char} 왼쪽으로 {char}의 N 번째 발생
+ 🔢 t{char} 오른쪽으로 {char}의 N 번째 발생 전까지
+ 🔢 T{char} 왼쪽으로 {char}의 N 번째 발생 전까지
+ 🔢 ; 마지막 "f", "F", "t"또는 "T"N 번 반복
+ 🔢 , 반대 방향으로 마지막 "f", "F", "t"또는 "T"N 번 반복

상하 동작

- Status Command Description
- 🔢 k N 줄 위로 (CTRL-P 및 Up)
- 🔢 j N 줄 아래로 (또한 CTRL-J, CTRL-N, NL 및 Down)
- 🔢 - 공백이 아닌 첫 번째 문자에서 N 줄 위로
- 🔢 + 공백이 아닌 첫 번째 문자에서 N 줄 아래로 (CTRL-M 및 CR)
- 🔢 _ 공백이 아닌 첫 번째 문자에서 N-1 줄 아래로
- 🔢 G 공백이 아닌 첫 번째 문자에서 goto 행 N (기본값 : 마지막 행)
- 🔢 gg 공백이 아닌 첫 번째 문자의 goto 행 N (기본값 : 첫 번째 행)
- 🔢 % 파일에서 N 줄 아래로 이동; N을 지정해야합니다. 그렇지 않으면 % 명령입니다.
- 🔢 gk N 화면 줄 위로 (줄 바꿈시 "k"와 다름)
- 🔢 gj N 화면 줄 아래로 (줄 바꿈시 "j"와 다름)
+ Status Command Description
+ ------------------ --------- --------------------------------------------------------------------------
+ 🔢 k N 줄 위로 (CTRL-P 및 Up)
+ 🔢 j N 줄 아래로 (또한 CTRL-J, CTRL-N, NL 및 Down)
+ 🔢 - 공백이 아닌 첫 번째 문자에서 N 줄 위로
+ 🔢 + 공백이 아닌 첫 번째 문자에서 N 줄 아래로 (CTRL-M 및 CR)
+ 🔢 _ 공백이 아닌 첫 번째 문자에서 N-1 줄 아래로
+ 🔢 G 공백이 아닌 첫 번째 문자에서 goto 행 N (기본값 : 마지막 행)
+ 🔢 gg 공백이 아닌 첫 번째 문자의 goto 행 N (기본값 : 첫 번째 행)
+ 🔢 % 파일에서 N 줄 아래로 이동; N을 지정해야합니다. 그렇지 않으면 % 명령입니다.
+ 🔢 gk N 화면 줄 위로 (줄 바꿈시 "k"와 다름)
+ 🔢 gj N 화면 줄 아래로 (줄 바꿈시 "j"와 다름)

텍스트 객체 동작

- Status Command Description
- 🔢 w 앞으로 N 단어
- 🔢 W 공백으로 분리 된 N 개의 단어 앞으로
- 🔢 e N 번째 단어의 끝까지 N 단어
- 🔢 E 공백으로 분리 된 N 번째 단어의 끝으로 N 단어 앞으로
- 🔢 b 뒤로 N 단어
- 🔢 B 공백으로 분리 된 N개의 단어 뒤로
- 🔢 ge N번째 단어의 끝까지 N단어
- 🔢 gE 공백으로 분리 된 N 번째 단어의 끝까지 N 단어
- 🔢 ) 앞으로 N 문장
- 🔢 ( 뒤로 N 문장
- 🔢 } 앞으로 N 단락
- 🔢 { 뒤로 N 단락
- 🔢 ]] 섹션 시작시 N 섹션 앞으로
- 🔢 [[ 섹션 시작시 뒤로 N 섹션
- 🔢 ][ 섹션 끝에서 N 섹션 앞으로
- 🔢 [] 섹션 끝에서 뒤로 N 섹션
- 🔢 [( 닫히지 않은 '('로 N 번
- 🔢 [{ 닫히지 않은 '{'로 N 번
- ⬇️ 🔢 [m 메소드 시작으로 다시 N 번 (Java의 경우)
- ⬇️ 🔢 [M 메소드의 끝까지 N 번 (Java의 경우)
- 🔢 ]) 닫히지 않은 ')'까지 N 번 전달
- 🔢 ]} 닫히지 않은 '}'까지 N 번 전달
- ⬇️ 🔢 ]m 메소드 시작까지 N 배 앞으로 (Java의 경우)
- ⬇️ 🔢 ]M 메소드의 끝까지 N 배 앞으로 (Java의 경우)
- ⬇️ 🔢 [# 닫히지 않은 "#if"또는 "#else"로 다시 N 번
- ⬇️ 🔢 ]# 닫히지 않은 "#else"또는 "#endif"로 N 번 전달
- ⬇️ 🔢 [* C 주석 "/ *"의 시작으로 다시 N 번
- ⬇️ 🔢 ]* C 주석 "* /"의 끝까지 N 배 앞으로
+ Status Command Description
+ ------------------ ---------- ---------------------------------------------------
+ 🔢 w 앞으로 N 단어
+ 🔢 W 공백으로 분리 된 N 개의 단어 앞으로
+ 🔢 e N 번째 단어의 끝까지 N 단어
+ 🔢 E 공백으로 분리 된 N 번째 단어의 끝으로 N 단어 앞으로
+ 🔢 b 뒤로 N 단어
+ 🔢 B 공백으로 분리 된 N개의 단어 뒤로
+ 🔢 ge N번째 단어의 끝까지 N단어
+ 🔢 gE 공백으로 분리 된 N 번째 단어의 끝까지 N 단어
+ 🔢 ) 앞으로 N 문장
+ 🔢 ( 뒤로 N 문장
+ 🔢 } 앞으로 N 단락
+ 🔢 { 뒤로 N 단락
+ 🔢 ]] 섹션 시작시 N 섹션 앞으로
+ 🔢 [[ 섹션 시작시 뒤로 N 섹션
+ 🔢 ][ 섹션 끝에서 N 섹션 앞으로
+ 🔢 [] 섹션 끝에서 뒤로 N 섹션
+ 🔢 [( 닫히지 않은 '('로 N 번
+ 🔢 [{ 닫히지 않은 '{'로 N 번
+ ⬇️ 🔢 [m 메소드 시작으로 다시 N 번 (Java의 경우)
+ ⬇️ 🔢 [M 메소드의 끝까지 N 번 (Java의 경우)
+ 🔢 ]) 닫히지 않은 ')'까지 N 번 전달
+ 🔢 ]} 닫히지 않은 '}'까지 N 번 전달
+ ⬇️ 🔢 ]m 메소드 시작까지 N 배 앞으로 (Java의 경우)
+ ⬇️ 🔢 ]M 메소드의 끝까지 N 배 앞으로 (Java의 경우)
+ ⬇️ 🔢 [# 닫히지 않은 "#if"또는 "#else"로 다시 N 번
+ ⬇️ 🔢 ]# 닫히지 않은 "#else"또는 "#endif"로 N 번 전달
+ ⬇️ 🔢 [* C 주석 "/ *"의 시작으로 다시 N 번
+ ⬇️ 🔢 ]* C 주석 "* /"의 끝까지 N 배 앞으로

패턴 검색

- Status Command Description Note
- ✅ ⭐ 🔢 /{pattern}[/[offset]]<CR> {pattern}의 N 번째 발생을 검색 현재는 JavaScript 정규식 만 지원하지만 Vim의 사내 정규식 엔진은 지원하지 않습니다.
- ✅ ⭐ 🔢 ?{pattern}[?[offset]]<CR> {pattern}의 N 번째 발생을 뒤로 검색 현재는 JavaScript 정규식 만 지원하지만 Vim의 사내 정규식 엔진은 지원하지 않습니다.
- ⚠️ 🔢 /<CR> 정방향으로 마지막 검색 반복 {count}는 지원되지 않습니다.
- ⚠️ 🔢 ?<CR> 역방향으로 마지막 검색 반복 {count}는 지원되지 않습니다.
- 🔢 n 마지막 검색 반복
- 🔢 N 반대 방향으로 마지막 검색 반복
- 🔢 * 커서 아래에서 식별자를 검색
- 🔢 # 커서 아래에서 식별자를 뒤로 검색
- 🔢 g* "*"와 비슷하지만 부분 일치도 찾습니다
- 🔢 g# "#"과 같지만 부분 일치 항목도 찾습니다.
- gd 커서 아래 식별자의 로컬 선언으로 이동
- ⬇️ gD 커서 아래에 식별자의 goto 글로벌 선언

-## 마크와

- Status Command Description
- m{a-zA-Z} {a-zA-Z} 표시로 현재 위치 표시
- `{a-z} 현재 파일에서 {a-z}로 이동
- `{A-Z} 모든 파일에서 {A-Z}로 이동
- `{0-9} Vim이 이전에 나간 위치로 이동
- `` 마지막 점프 전 위치로 이동
- ⬇️ `" 이 파일을 마지막으로 편집 할 때 위치로 이동
- `[ 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- '[ 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- `] 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- '] 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- ⬇️ `< (이전) 시각 영역의 시작으로 이동
- ⬇️ `> (이전) 시각 영역의 끝으로 이동
- `. 이 파일에서 마지막 변경 위치로 이동
- '. 이 파일에서 마지막 변경 위치로 이동
- ⬇️ '{a-zA-Z0-9[]'"<>.} `와 동일하지만 첫 번째 공백이 아닌 행
- ⬇️ :marks 활성마크를 인쇄
- 🔢 CTRL-O 점프 목록에서 N 번째 이전 위치로 이동
- 🔢 CTRL-I 점프 목록에서 N 번쨰 새로운 위치로 이동
- ⬇️ :ju[mps] 점프리스트를 인쇄
+ Status Command Description
+ ------------------------- ---------------------------------- ---------------------------------------
+ ✅ ⭐ 🔢 /{pattern}[/[offset]]<CR> {pattern}의 N 번째 발생을 검색
+ ✅ ⭐ 🔢 ?{pattern}[?[offset]]<CR> {pattern}의 N 번째 발생을 뒤로 검색
+ ⚠️ 🔢 /<CR> 정방향으로 마지막 검색 반복
+ ⚠️ 🔢 ?<CR> 역방향으로 마지막 검색 반복
+ 🔢 n 마지막 검색 반복
+ 🔢 N 반대 방향으로 마지막 검색 반복
+ 🔢 * 커서 아래에서 식별자를 검색
+ 🔢 # 커서 아래에서 식별자를 뒤로 검색
+ 🔢 g* "*"와 비슷하지만 부분 일치도 찾습니다
+ 🔢 g# "#"과 같지만 부분 일치 항목도 찾습니다.
+ gd 커서 아래 식별자의 로컬 선언으로 이동
+ ⬇️ gD 커서 아래에 식별자의 goto 글로벌 선언

+## 마크와
+
+| Status | Command | Description |
+| ------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------- |
+| ✅ | m{a-zA-Z} | {a-zA-Z} 표시로 현재 위치 표시 |
+| ✅ | {a-z} | 현재 파일에서 {a-z}로 이동 | +| :white_check_mark: | {A-Z} | 모든 파일에서 {A-Z}로 이동 |
+| ✅ | {0-9} | Vim이 이전에 나간 위치로 이동 | +| :white_check_mark: | `` | 마지막 점프 전 위치로 이동 | +| :arrow_down: | " | 이 파일을 마지막으로 편집 할 때 위치로 이동 |
+| ✅ | [ | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 | +| :white_check_mark: | '[ | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 | +| :white_check_mark: | ] | 이전에 운영 한 텍스트��� 시작으로 이동하거나 텍스트를 넣습니다 |
+| ✅ | '] | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 |
+| ⬇️ | < | (이전) 시각 영역의 시작으로 이동 | +| :arrow_down: | > | (이전) 시각 영역의 끝으로 이동 |
+| ✅ | . | 이 파일에서 마지막 변경 위치로 이동 | +| :white_check_mark: | '. | 이 파일에서 마지막 변경 위치로 이동 | +| :arrow_down: | '{a-zA-Z0-9[]'"<>.} | 와 동일하지만 첫 번째 공백이 아닌 행 |
+| ⬇️ | :marks | 활성마크를 인쇄 |
+| ✅ | 🔢 CTRL-O | 점프 목록에서 N 번째 이전 위치로 이동 |
+| ✅ | 🔢 CTRL-I | 점프 목록에서 N 번쨰 새로운 위치로 이동 |
+| ⬇️ | :ju[mps] | 점프리스트를 인쇄 |

다양한 동작

- Status Command Description
- % 이 줄에서 다음 중괄호, 대괄호, 주석 또는 "#if"/ "#else"/ "# endif"를 찾아서 해당 행으로 이동하십시오.
+ Status Command Description
+ ------------------ ------------------- -----------------------------------------------------------------------------------------------------
+ % 이 줄에서 다음 중괄호, 대괄호, 주석 또는 "#if"/ "#else"/ "# endif"를 찾아서 해당 행으로 이동하십시오.
🔢 H 공백이 아닌 첫 번째 창에서 N 번째 줄로 이동
M 공백이 아닌 첫 번째 창에서 가운데 줄로 이동
🔢 L 첫 번째 공백이 아닌 바닥에서 N 번째 줄로 이동
- ⬇️ 🔢 go 버퍼의 N 번째 바이트로 이동
- ⬇️ :[range]go[to][off] 버퍼의 [off] 바이트로 이동
+ ⬇️ 🔢 go 버퍼의 N 번째 바이트로 이동
+ ⬇️ :[range]go[to][off] 버퍼의 [off] 바이트로 이동

태그 사용

VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순위가 낮습니다. 아직 명령 팔레트에서 사용해보십시오!

- Status Command Description
- ⬇️ :ta[g][!] {tag} 태그 {tag}로 이동
- ⬇️ :[count]ta[g][!] 태그 목록에서 [count] '번째 최신 태그로 이동
- ⬇️ CTRL-] 변경 사항이 없으면 커서 아래의 태그로 이동
- ⬇️ :ts[elect][!] [tag] 일치하는 태그를 나열하고 이동할 태그를 선택하십시오.
- ⬇️ :tj[ump][!] [tag] 일치하는 태그가 여러 개인 경우 [tag] 태그로 이동하거나 목록에서 선택하십시오.
- ⬇️ :lt[ag][!] [tag] [tag] 태그로 이동하여 위치 목록에 일치하는 태그 추가 인쇄 태그 목록
- ⬇️ :tagsa 인쇄 태그 목록
- ⬇️ 🔢 CTRL-T 태그 목록에서 N 번째 오래된 태그에서 뒤로 이동
- ⬇️ :[count]po[p][!] 태그 목록에서 [count] 번째 오래된 태그에서 뒤로 이동
- ⬇️ :[count]tn[ext][!] 다음으로 일치하는 [count] 번째 태그로 이동
- ⬇️ :[count]tp[revious][!] 이전 일치하는 [count] 번째 태그로 이동
- ⬇️ :[count]tr[ewind][!] 일치하는 [count] 번째 태그로 이동
- ⬇️ :tl[ast][!] 마지막으로 일치하는 태그로 이동
- ⬇️ :pt[ag] {tag} {tag} 태그를 표시하기 위해 미리보기 창을 엽니 다.
- ⬇️ CTRL-W } CTRL-]와 유사하지만 미리보기 창에 태그 표시
- ⬇️ :pts[elect] ": tselect"와 같지만 미리보기 창에 태그 표시
- ⬇️ :ptj[ump] ": tjump"와 같지만 미리보기 창에 태그 표시
- ⬇️ :pc[lose] 태그 미리보기 창 닫기
- ⬇️ CTRL-W z 태그 미리보기 창 닫기`
+ Status Command Description
+ ------------ ---------------------- -----------------------------------------------------------------------------
+ ⬇️ :ta[g][!] {tag} 태그 {tag}로 이동
+ ⬇️ :[count]ta[g][!] 태그 목록에서 [count] '번째 최신 태그로 이동
+ ⬇️ CTRL-] 변경 사항이 없으면 커서 아래의 태그로 이동
+ ⬇️ :ts[elect][!] [tag] 일치하는 태그를 나열하고 이동할 태그를 선택하십시오.
+ ⬇️ :tj[ump][!] [tag] 일치하는 태그가 여러 개인 경우 [tag] 태그로 이동하거나 목록에서 선택하십시오.
+ ⬇️ :lt[ag][!] [tag] [tag] 태그로 이동하여 위치 목록에 일치하는 태그 추가 인쇄 태그 목록
+ ⬇️ :tagsa 인쇄 태그 목록
+ ⬇️ 🔢 CTRL-T 태그 목록에서 N 번째 오래된 태그에서 뒤로 이동
+ ⬇️ :[count]po[p][!] 태그 목록에서 [count] 번째 오래된 태그에서 뒤로 이동
+ ⬇️ :[count]tn[ext][!] 다음으로 일치하는 [count] 번째 태그로 이동
+ ⬇️ :[count]tp[revious][!] 이전 일치하는 [count] 번째 태그로 이동
+ ⬇️ :[count]tr[ewind][!] 일치하는 [count] 번째 태그로 이동
+ ⬇️ :tl[ast][!] 마지막으로 일치하는 태그로 이동
+ ⬇️ :pt[ag] {tag} {tag} 태그를 표시하기 위해 미리보기 창을 엽니 다.
+ ⬇️ CTRL-W } CTRL-]와 유사하지만 미리보기 창에 태그 표시
+ ⬇️ :pts[elect] ": tselect"와 같지만 미리보기 창에 태��� 표시
+ ⬇️ :ptj[ump] ": tjump"와 같지만 미리보기 창에 태그 표시
+ ⬇️ :pc[lose] 태그 미리보기 창 닫기
+ ⬇️ CTRL-W z 태그 미리보기 창 닫기`

스크롤

- Status Command Description
- 🔢 CTRL-E window N 줄 아래로 내려갑니다 (기본값: 1)
+ Status Command Description
+ ------------------ ------------- -------------------------------------------------
+ 🔢 CTRL-E window N 줄 아래로 내려갑니다 (기본값: 1)
🔢 CTRL-D window N 줄 아래로 내려갑니다(기본값: 1/2 window)
- 🔢 CTRL-F window N 페이지 앞으로 (아래로)
- 🔢 CTRL-Y window N 줄 위쪽을 향합니다 (기본값: 1)
- 🔢 CTRL-U window N 줄 위쪽을 향합니다 (기본값: 1/2 window)
- 🔢 CTRL-B window N 페이지 뒤로 (위로)
- z CR or zt window 맨 위에있는 현재 행 다시 그리기
- z. or zz window 가운데에 현재 행 다시 그리기
- z- or zb window 맨 아래에 현재 행 다시 그리기
+ 🔢 CTRL-F window N 페이지 앞으로 (아래로)
+ 🔢 CTRL-Y window N 줄 위쪽을 향합니다 (기본값: 1)
+ 🔢 CTRL-U window N 줄 위쪽을 향합니다 (기본값: 1/2 window)
+ 🔢 CTRL-B window N 페이지 뒤로 (위로)
+ z CR or zt window 맨 위에있는 현재 행 다시 그리기
+ z. or zz window 가운데에 현재 행 다시 그리기
+ z- or zb window 맨 아래에 현재 행 다시 그리기

'wrap'이 꺼져있을 때만 작동합니다.

- Status Command Description Note
- ✅ ⭐ 🔢 zh 화면 N 문자를 오른쪽으로 스크롤 코드에서 가로 스크롤 막대의 이동 여부에 관계없이이 명령을 실행할 때 커서는 항상 이동합니다.
- ✅ ⭐ 🔢 zl 화면 N 문자를 왼쪽으로 스크롤 위와 같음
- ✅ ⭐ 🔢 zH 화면 너비를 화면 너비의 오른쪽으로 스크롤 위와 같음
- ✅ ⭐ 🔢 zL 화면 너비를 화면 너비의 왼쪽으로 스크롤 위와 같음
+ Status Command Description Note
+ ------------------------- --------- ----------------------------------------- -------------------------------------------------------------------------------------------
+ ✅ ⭐ 🔢 zh 화면 N 문자를 오른쪽으로 스크롤 코드에서 가로 스크롤 막대의 이동 여부에 관계없이이 명령을 실행할 때 커서는 항상 이동합니다.
+ ✅ ⭐ 🔢 zl 화면 N 문자를 왼쪽으로 스크롤 위와 같음
+ ✅ ⭐ 🔢 zH 화면 너비를 화면 너비의 오른쪽으로 스크롤 위와 같음
+ ✅ ⭐ 🔢 zL 화면 너비를 화면 너비의 왼쪽으로 스크롤 위와 같음

텍스트 삽입

- Status Command Description
- 🔢 a 커서 다음에 텍스트 추가 (N 회)
- 🔢 A 줄의 끝에 텍스트를 추가하십시오 (N 번)
- 🔢 i 커서 앞에 텍스트 삽입 (N 번) (또한 삽입)
- 🔢 I 첫 번째 공백이 아닌 줄 앞에 텍스트를 삽입하십시오 (N 번)
- 🔢 gI 1 열에 텍스트 삽입 (N 회)
- gi 마지막 변경이 끝��� 때 삽입
- 🔢 o 현재 줄 아래에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
- 🔢 O 현재 줄 위에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
+ Status Command Description
+ ------------------ --------- --------------------------------------------------------
+ 🔢 a 커서 다음에 텍스트 추가 (N 회)
+ 🔢 A 줄의 끝에 텍스트를 추가하십시오 (N 번)
+ 🔢 i 커서 앞에 텍스트 삽입 (N 번) (또한 삽입)
+ 🔢 I 첫 번째 공백이 아닌 줄 앞에 텍스트를 삽입하십시오 (N 번)
+ 🔢 gI 1 열에 텍스트 삽입 (N 회)
+ gi 마지막 변경이 끝날 때 삽입
+ 🔢 o 현재 줄 아래에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
+ 🔢 O 현재 줄 위에 새 줄을 열고 텍스트를 추가하십시오 (N 번)

비주얼 블록 모드에서:

- Status Command Description
- I 선택한 모든 줄 앞에 같은 텍스트를 삽입
- A 선택한 모든 줄 다음에 같은 텍스트를 추가하십시오
+ Status Command Description
+ ------------------ ------- ------------------------------------------------
+ I 선택한 모든 줄 앞에 같은 텍스트를 삽입
+ A 선택한 모든 줄 다음에 같은 텍스트를 추가하십시오

모드 키 삽입

@@ -240,73 +240,73 @@ VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순

Status Command Description
- Esc
- CTRL-C
- CTRL-O {command}
+ Esc
+ CTRL-C
+ CTRL-O {command}

이동:

- Status Command Description
- cursor keys 커서를 왼쪽/오른쪽/위/아래로 이동
- shift-left/right 한 단어 왼쪽/오른쪽
- shift-up/down 한 화면 뒤로/앞으로
- End 줄의 마지막 문자 다음에 커서
- Home 줄의 첫 문자에 커서
+ Status Command Description
+ ------------------ ---------------- ---------------------------------
+ cursor keys 커서를 왼쪽/오른쪽/위/아래로 이동
+ shift-left/right 한 단어 왼쪽/오른쪽
+ shift-up/down 한 화면 뒤로/앞으로
+ End 줄의 마지막 문자 다음에 커서
+ Home 줄의 첫 문자에 커서

삽입 모드의 특수 키

- Status Command Description Note
- ⬇️ CTRL-V {char}.. 문자를 문자 그대로 삽입하거나 10 진수 바이트 값을 입력하십시오.
- ⚠️ NL or CR or CTRL-M or CTRL-J 새 줄을 시작하다 CTRL-M 및 CTRL-J는 지원되지 않습니다
- CTRL-E 커서 아래에서 문자를 삽입
- CTRL-Y 커서 위에서 문자를 삽입
- ✅ ⭐ CTRL-A 이전에 삽입 한 텍스트 삽입 이전 삽입 세션에서 작성된 이전 문서 변경 사항을 적용하고 커서 아래에서 발생하는 변경 사항 만 적용합니다
- ✅ ⭐ CTRL-@ 이전에 삽입 한 텍스트 삽입 및 삽입 모드 중지 위와 같음
- CTRL-R {0-9a-z%#:.-="} 레지스터의 내용을 삽입
- CTRL-N 커서 앞에 식별자의 다음 일치를 삽입
- CTRL-P 커서 앞에 식별자의 이전 일치를 삽입
- ⬇️ CTRL-X ... 다양한 방법으로 커서 앞에있는 단어를 완성하십시오
- BS or CTRL-H 커서 앞의 문자를 삭제
- Del 커서 아래의 문자를 삭제
- CTRL-W 커서 앞의 단어를 삭제
- CTRL-U 현재 줄에 입력한 모든 문자를 삭제
- CTRL-T 현재 줄 앞에 한 개의 들여 쓰기 폭을 삽입
- CTRL-D 현재 줄 앞에 들여 쓰기 한 이동 폭 삭제
- ⬇️ 0 CTRL-D 현재 줄의 들여 쓰기를 모두 삭제하십시오.
- ⬇️ ^ CTRL-D 현재 줄에서 들여 쓰기를 모두 삭제하고 다음 줄 들여 쓰기를 복원
+ Status Command Description Note
+ ------------------------- ---------------------------- --------------------------------------------------------------- -------------------------------------------------------------------------------------------------------
+ ⬇️ CTRL-V {char}.. 문자를 문자 그대로 삽입하거나 10 진수 바이트 값을 입력하십시오.
+ ⚠️ NL or CR or CTRL-M or CTRL-J 새 줄을 시작하다 CTRL-M 및 CTRL-J는 지원되지 않습니다
+ CTRL-E 커서 아래에서 문자를 삽입
+ CTRL-Y 커서 위에서 문자를 삽입
+ ✅ ⭐ CTRL-A 이전에 삽입 한 텍스트 삽입 이전 삽입 세션에서 작성된 이전 문서 변경 사항을 적용하고 커서 아래에서 발생하는 변경 사항 만 적용합니다
+ ✅ ⭐ CTRL-@ 이전에 삽입 한 텍스트 삽입 및 삽입 모드 중지 위와 같음
+ CTRL-R {0-9a-z%#:.-="} 레지스터의 내용을 삽입
+ CTRL-N 커서 앞에 식별자의 다음 일치를 삽입
+ CTRL-P 커서 앞에 식별자의 이전 일치를 삽입
+ ⬇️ CTRL-X ... 다양한 방법으로 커서 앞에있는 단어를 완성하십시오
+ BS or CTRL-H 커서 앞의 문자를 삭제
+ Del 커서 아���의 문자를 삭제
+ CTRL-W 커서 앞의 단어를 삭제
+ CTRL-U 현재 줄에 입력한 모든 문자를 삭제
+ CTRL-T 현재 줄 앞에 한 개의 들여 쓰기 폭을 삽입
+ CTRL-D 현재 줄 앞에 들여 쓰기 한 이동 폭 삭제
+ ⬇️ 0 CTRL-D 현재 줄의 들여 쓰기를 모두 삭제하십시오.
+ ⬇️ ^ CTRL-D 현재 줄에서 들여 쓰기를 모두 삭제하고 다음 줄 들여 쓰기를 복원

Di그래프

- Status Command Description
- :dig[raphs] di그래프의 현재 목록 표시
- ⬇️ :dig[raphs] {char1}{char2} {number} ... 목록에 digraph(s) 추가
+ Status Command Description
+ ------------------ --------------------------------------- -------------------------
+ :dig[raphs] di그래프의 현재 목록 표시
+ ⬇️ :dig[raphs] {char1}{char2} {number} ... 목록에 digraph(s) 추가

Special inserts

- Status Command Description
- ⚠️ :r [file] 커서 아래에 [file]의 내용을 삽입하십시오.
- ⚠️ :r! {command} 커서 아래에 {command}의 표준 출력을 삽입하십시오.
+ Status Command Description
+ --------- ------------- -------------------------------------------------
+ ⚠️ :r [file] 커서 아래에 [file]의 내용을 삽입하십시오.
+ ⚠️ :r! {command} 커서 아래에 {command}의 표준 출력을 삽입하십시오.

텍스트 삭제

- Status Command Description
- 🔢 x 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
- 🔢 Del 커서 아��� 및 뒤에 N 문자를 삭제 하십시오.
- 🔢 X 커서 앞의 N 문자를 삭제 하십시오.
- 🔢 d{motion} {motion}으로 이동한 텍스트를 삭제하십시오.
- {visual}d 강조 표시된 텍스트를 삭제
- 🔢 dd N 줄을 삭제
- 🔢 D 줄 끝까지 삭제 (및 N-1 줄 더)
- 🔢 J N-1 라인 가입 (EOL 삭제)
- {visual}J 강조 표시된 라인에 참여
- 🔢 gJ "J"와 같지만 공백을 삽입하지 않음
- {visual}gJ "{visual} J"와 같지만 공백을 삽입하지 않음
- :[range]d [x] [범위] 줄 삭제 [등록 x]
+ Status Command Description
+ ------------------ ---------------- ------------------------------------------
+ 🔢 x 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
+ 🔢 Del 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
+ 🔢 X 커서 앞의 N 문자를 삭제 하십시오.
+ 🔢 d{motion} {motion}으로 이동한 텍스트를 삭제하십시오.
+ {visual}d 강조 표시된 텍스트를 삭제
+ 🔢 dd N 줄을 삭제
+ 🔢 D 줄 끝까지 삭제 (및 N-1 줄 더)
+ 🔢 J N-1 라인 가입 (EOL 삭제)
+ {visual}J 강조 표시된 라인에 참여
+ 🔢 gJ "J"와 같지만 공백을 삽입하지 않음
+ {visual}gJ "{visual} J"와 같지만 공백을 삽입하지 않음
+ :[range]d [x] [범위] 줄 삭제 [등록 x]

텍스트 복사 및 이동

@@ -329,224 +329,224 @@ VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순

텍스트 변경

- Status Command Description Note
- 🔢 r{char} N 문자를 {char}로 바꾸십시오
- ⬇️ 🔢 gr{char} 레이아웃에 영향을주지 않고 N 문자를 교체
- ✅ ⭐ 🔢 R 바꾸기 모드로 들어가십시오 (입력 한 텍스트를 N 번 반복하십시오) {count} is not supported
- ⬇️ 🔢 gR 가상 교체 모드로 전환 : 대체 모드와 유사하지만 레이아웃에 영향을 미치지 않음
- {visual}r{char} 비주얼 블록, 비주얼 또는 비주얼 라인 모드에서 : 선택한 텍스트의 각 문자를 {char}로 바꿉니다.
+ Status Command Description Note
+ ------------------------- --------------- -------------------------------------------------------------------------------------------- ------------------------
+ 🔢 r{char} N 문자를 {char}로 바꾸십시오
+ ⬇️ 🔢 gr{char} 레이아웃에 영향을주지 않고 N 문자를 교체
+ ✅ ⭐ 🔢 R 바꾸기 모드로 들어가십시오 (입력 한 텍스트를 N 번 반복하십시오) {count} is not supported
+ ⬇️ 🔢 gR 가상 교체 모드로 전환 : 대체 모드와 유사하지만 레이아웃에 영향을 미치지 않음
+ {visual}r{char} 비주얼 블록, 비주얼 또는 비주얼 라인 모드에서 : 선택한 텍스트의 각 문자를 {char}로 바꿉니다.

(변경 = 텍스트 삭제 및 삽입 모드 입력)

- Status Command Description
- 🔢 c{motion} {motion}으로 이동 한 텍스트를 변경하십시오.
- {visual}c 강조 표시된 텍스트를 변경
- 🔢 cc N줄 바꾸기
- 🔢 S N줄 바꾸기
- 🔢 C 줄의 끝으로 변경 (및 N-1 더 많은 줄)
- 🔢 s N 문자를 바꾸다
- {visual}c 비주얼 블록 모드에서 : 입력 한 텍스트로 선택한 각 줄을 변경합니다
- {visual}C 비주얼 블록 모드에서 : 입력 한 텍스트로 줄 끝까지 선택된 각 줄을 변경합니다.
- {visual}~ 강조 표시된 텍스트의 경우 전환
- {visual}u 강조 표시된 텍스트를 소문자로 설정
- {visual}U 강조 표시된 텍스트를 대문자로 만듭니다.
- g~{motion} {motion}으로 이동 한 텍스트의 대소 문자 전환
- gu{motion} {motion}으로 옮긴 텍스트를 소문자로 만듭니다.
- gU{motion} {motion}으로 이동 한 텍스트를 대문자로 만듭니다.
- ⬇️ {visual}g? 강조 표시된 텍스트에서 rot13 인코딩 수행
- ⬇️ g?{motion} {motion}으로 이동 한 텍스트에서 rot13 인코딩 수행
- 🔢 CTRL-A 커서 위 또는 뒤에있는 숫자에 N을 더하다
- 🔢 CTRL-X 커서에서 또는 뒤에있는 숫자에서 N을 빼기
- 🔢 <{motion} {motion}으로 이동 한 줄을 한 이동 폭 왼쪽으로 이동
- 🔢 << N 라인을 한 이동 폭만큼 왼쪽으로 이동
- 🔢 >{motion} {motion}으로 이동 한 선을 한 이동 폭만큼 오른쪽으로 이동
- 🔢 >> N 라인을 한 이동 폭만큼 오른쪽으로 이동
- 🔢 gq{motion} {motion}으로 이동 한 행을 'textwidth'길이로 형식화
- ⬇️ :[range]ce[nter][width] [range]에서 선 중심
- ⬇️ :[range]le[ft][indent] [range]에서 줄을 왼쪽 정렬합니다 ([indent] 포함)
- ⬇️ :[ranee]ri[ght][width] [range]에서 선을 오른쪽 정렬합니다
+ Status Command Description
+ ------------------ ----------------------- ----------------------------------------------------------------------------
+ 🔢 c{motion} {motion}으로 이동 한 텍스트를 변경하십시오.
+ {visual}c 강조 표시된 텍스트를 변경
+ 🔢 cc N줄 바꾸기
+ 🔢 S N줄 바꾸기
+ 🔢 C 줄의 끝으로 변경 (및 N-1 더 많은 줄)
+ 🔢 s N 문자를 바꾸다
+ {visual}c 비주얼 블록 모드에서 : 입력 한 텍스트로 선택한 각 줄을 변경합니다
+ {visual}C 비주얼 블록 모드에서 : 입력 한 텍스트로 줄 끝까지 선택된 각 줄을 변경합니다.
+ {visual}~ 강조 표시된 텍스트의 경우 전환
+ {visual}u 강조 표시된 텍스트를 소문자로 설정
+ {visual}U 강조 표시된 텍스트를 대문자로 만듭니다.
+ g~{motion} {motion}으로 이동 한 텍스트의 대소 문자 전환
+ gu{motion} {motion}으로 옮긴 텍스트를 소문자로 만듭니다.
+ gU{motion} {motion}으로 이동 한 텍스트를 대문자로 만듭니다.
+ ⬇️ {visual}g? 강조 표시된 텍���트에서 rot13 인코딩 수행
+ ⬇️ g?{motion} {motion}으로 이동 한 텍스트에서 rot13 인코딩 수행
+ 🔢 CTRL-A 커서 위 또는 뒤에있는 숫자에 N을 더하다
+ 🔢 CTRL-X 커서에서 또는 뒤에있는 숫자에서 N을 빼기
+ 🔢 <{motion} {motion}으로 이동 한 줄을 한 이동 폭 왼쪽으로 이동
+ 🔢 << N 라인을 한 이동 폭만큼 왼쪽으로 이동
+ 🔢 >{motion} {motion}으로 이동 한 선을 한 이동 폭만큼 오른쪽으로 이동
+ 🔢 >> N 라인을 한 이동 폭만큼 오른쪽으로 이동
+ 🔢 gq{motion} {motion}으로 이동 한 행을 'textwidth'길이로 형식화
+ ⬇️ :[range]ce[nter][width] [range]에서 선 중심
+ ⬇️ :[range]le[ft][indent] [range]에서 줄을 왼쪽 정렬합니다 ([indent] 포함)
+ ⬇️ :[ranee]ri[ght][width] [range]에서 선을 오른쪽 정렬합니다

복잡한 변화

- Status Command Description Note
- ⬇️ 🔢 !{motion}{command}<CR> {command}를 통해 이동 한 행을 필터링
- ⬇️ 🔢 !!{command}<CR> {command}를 통해 N 라인 필터링
- ⬇️ {visual}!{command}<CR> {command}를 통해 강조 표시된 줄을 필터링하십시오.
- ⬇️ :[range]! {command}<CR> {command}를 통해 [range] 라인 필터링
- 🔢 ={motion} 'equalprg'를 통해 이동 한 라인을 필터링 through 'equalprg'
- 🔢 == 'equalprg'를 통해 N 라인 필터링
- {visual}= 'equalprg'를 통해 강조 표시된 줄을 필터링하십시오.
- ✅ ⭐ ⚠️ :[range]s[ubstitute]/{pattern}/{string}/[g][c] [range] 행에서 {string}으로 {pattern}을 대체하십시오. [g]로, 모든 {pattern}을 대체하십시오. [c]로 각 교체 확인 현재는 JavaScript 정규식 만 지원하며 gi 옵션 만 구현됩니다.
- ⬇️ :[range]s[ubstitute][g][c] 새로운 범위와 옵션으로 이전 ": s"반복
- ⬇️ & 옵션없이 현재 줄에서 이전 ": s"반복
- ⬇️ :[range]ret[ab][!] [tabstop] 'tabstop'을 새 값으로 설정하고 그에 따라 공백을 조정하십시오.
+ Status Command Description Note
+ ----------------------------------- ---------------------------------------------- -------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------
+ ⬇️ 🔢 !{motion}{command}<CR> {command}를 통해 이동 한 행을 필터링
+ ⬇️ 🔢 !!{command}<CR> {command}를 통해 N 라인 필터링
+ ⬇️ {visual}!{command}<CR> {command}를 통해 강조 표시된 줄을 필터링하십시오.
+ ⬇️ :[range]! {command}<CR> {command}를 통해 [range] 라인 필터링
+ 🔢 ={motion} 'equalprg'를 통해 이동 한 라인을 필터링 through 'equalprg'
+ 🔢 == 'equalprg'를 통해 N 라인 필터링
+ {visual}= 'equalprg'를 통해 강조 표시된 줄을 필터링하십시오.
+ ✅ ⭐ ⚠️ :[range]s[ubstitute]/{pattern}/{string}/[g][c] [range] 행에서 {string}으로 {pattern}을 대체하십시오. [g]로, 모든 {pattern}을 대체하십시오. [c]로 각 교체 확인 현재는 JavaScript 정규식 만 지원하며 gi 옵션 만 구현됩니다.
+ ⬇️ :[range]s[ubstitute][g][c] 새로운 범위와 옵션으로 이전 ": s"반복
+ ⬇️ & 옵션없이 현��� 줄에서 이전 ": s"반복
+ ⬇️ :[range]ret[ab][!] [tabstop] 'tabstop'을 새 값으로 설정하고 그에 따라 공백을 조정하십시오.

비주얼 모드

- Status Command Description
- v 문자 강조 표시 시작 또는 강조 표시 중지
- V 선으로 강조 표시 시작 또는 강조 표시 중지
- CTRL-V 블록 단위로 강조 표시 시작 또는 강조 표시 중지
- o 강조 표시 시작으로 커서 위치 교환
- gv 이전 시각적 영역에서 강조 표시 시작
+ Status Command Description
+ ------------------ ------- ----------------------------------------------
+ v 문자 강조 표시 시작 또는 강조 표시 중지
+ V 선으로 강조 표시 시작 또는 강조 표시 중지
+ CTRL-V 블록 ���위로 강조 표시 시작 또는 강조 표시 중지
+ o 강조 표시 시작으로 커서 위치 교환
+ gv 이전 시각적 영역에서 강조 표시 시작

텍스트 객체 (비주얼 모드에서만 또는 연산자 뒤)

- Status Command Description
- 🔢 aw "a word"를 선택하십시오.
- 🔢 iw "inner word"를 선택하십시오.
- 🔢 aW "a WORD"를 선택하십시오.
- 🔢 iW "inner WORD"를 선택하십시오.
- 🔢 as "a sentence"를 선택하십시오.
- 🔢 is "inner sentence"를 선택하십시오.
- 🔢 ap "a paragraph"를 선택하십시오.
- 🔢 ip "inner paragraph"를 선택하십시오.
- 🔢 a], a[ '[' ']'블록을 선택하십시오
- 🔢 i], i[ 내부 '[' ']'블록을 선택하십시오.
- 🔢 ab, a(, a) "a block"을 선택하십시오. ("[("에서 "])"까지)
- 🔢 ib, i), i( "inner block"을 선택하십시오. ("[("에서 "])"까지)
- 🔢 a>, a< "a <> block"을 선택하십시오.
- 🔢 i>, i< "inner <> block"을 선택하십시오.
- 🔢 aB, a{, a} "a Block"을 선택하십시오. ("[{"에서 "]}"까지)
- 🔢 iB, i{, i} "inner Block"을 ("[{"에서 "]}"까지)
- 🔢 at "a tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
- 🔢 it "inner tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
- 🔢 a' "a single quoted string"을 선택하십시오.
- 🔢 i' "inner single quoted string"을 선택하십시오.
- 🔢 a" "a double quoted string"을 선택하십시오.
- 🔢 i" "inner double quoted string"을 선택하십시오.
- 🔢 a` "a backward quoted string"을 선택하십시오.
- 🔢 i` "inner backward quoted string"을 선택하십시오.
+ Status Command Description
+ ------------------ ---------------------------------------------------------- --------------------------------------------------------------------
+ 🔢 aw "a word"를 선택하십시오.
+ 🔢 iw "inner word"를 선택하십시오.
+ 🔢 aW "a WORD"를 선택하십시오.
+ 🔢 iW "inner WORD"를 선택하십시오.
+ 🔢 as "a sentence"를 선택하십시오.
+ 🔢 is "inner sentence"를 선택하십시오.
+ 🔢 ap "a paragraph"를 선택하십시오.
+ 🔢 ip "inner paragraph"를 선택하십시오.
+ 🔢 a], a[ '[' ']'블록을 선택하십시오
+ 🔢 i], i[ 내부 '[' ']'블록을 선택하십시오.
+ 🔢 ab, a(, a) "a block"을 선택하십���오. ("[("에서 "])"까지)
+ 🔢 ib, i), i( "inner block"을 선택하십시오. ("[("에서 "])"까지)
+ 🔢 a>, a< "a <> block"을 선택하십시오.
+ 🔢 i>, i< "inner <> block"을 선택하십시오.
+ 🔢 aB, a{, a} "a Block"을 선택하십시오. ("[{"에서 "]}"까지)
+ 🔢 iB, i{, i} "inner Block"을 ("[{"에서 "]}"까지)
+ 🔢 at "a tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
+ 🔢 it "inner tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
+ 🔢 a' "a single quoted string"을 선택하십시오.
+ 🔢 i' "inner single quoted string"을 선택하���시오.
+ 🔢 a" "a double quoted string"을 선택하십시오.
+ 🔢 i" "inner double quoted string"을 선택하십시오.
+ 🔢 a` "a backward quoted string"을 선택하십시오.
+ 🔢 i` "inner backward quoted string"을 선택하십시오.

반복 명령

- Status Command Description Note
- ✅ ⭐ 🔢 . 마지막 변경을 반복합니다 (N으로 개수를 대체) 커서 아래에서 발생하지 않는 내용 변경은 반복 할 수 없습니다.
- q{a-z} 입력 된 문자를 레지스터 {a-z}에 기록
- ⬇️ q{A-Z} {a-z} 등록을 위해 추가 된 레코드 유형 문자
+ Status Command Description Note
+ ------------------------- --------------------------------- -------------------------------------------------------------------------------------------------- ------------------------------------------------------------
+ ✅ ⭐ 🔢 . 마지막 변경을 반복합니다 (N으로 개수를 대체) 커서 아래에서 발생하지 않는 내용 변경은 반복 할 수 없습니다.
+ q{a-z} 입력 된 문자를 레지스터 {a-z}에 기록
+ ⬇️ q{A-Z} {a-z} 등록을 위해 추가 된 레코드 유형 문자
q 녹화 중지
- 🔢 @{a-z} 레지스터 {a-z}의 내용을 실행합니다 (N 회)
- 🔢 @@ 이전 @ {a-z} 반복 (N 회)
- ⬇️ :@{a-z} 레지스터 {a-z}의 내용을 Ex 명령으로 실행
+ 🔢 @{a-z} 레지스터 {a-z}의 내용을 실행합니다 (N 회)
+ 🔢 @@ 이전 @ {a-z} 반복 (N 회)
+ ⬇️ :@{a-z} 레지스터 {a-z}의 내용을 Ex 명령으로 실행
⬇️ :@@ 이전 반복 : @ {a-z}
⬇️ :[range]g[lobal]/{pattern}/[cmd] execute Ex command cmd on the lines within [range] where {pattern} matches
⬇️ :[range]g[lobal]!/{pattern}/[cmd] execute Ex command cmd on the lines within [range] where {pattern} does NOT match
- ⬇️ :so[urce] {file} {file}에서 EX 명령을 읽습니다.
- ⬇️ :so[urce]! {file} {file}에서 Vim 명령을 읽습니다.
- ⬇️ :sl[eep][sec] [sec] 초 동안 아무 것도하지 마십시오
- ⬇️ 🔢 gs N 초 동안 절전 모드로 전환
+ ⬇️ :so[urce] {file} {file}에서 EX 명령을 읽습니다.
+ ⬇️ :so[urce]! {file} {file}에서 Vim 명령을 읽습니다.
+ ⬇️ :sl[eep][sec] [sec] 초 동안 아무 것도하지 마십시오
+ ⬇️ 🔢 gs N 초 동안 절전 모드로 전환

옵션

- Status Command Description Note
- ⬇️ :se[t] 수정 된 모든 옵션 표시
- ⬇️ :se[t] all 모든 non-termcap 옵션을 표시
- ⬇️ :se[t] termcap 모든 termcap 옵션을 표시
- :se[t] {option} set boolean option (switch it on), 문자열 또는 숫자 옵션 표시
- :se[t] no{option} boolean option 재설정(switch it off)
- :se[t] inv{option} boolean option 반전
- :se[t] {option}={value} 문자열 / 숫자 옵션을 {value}로 설정
- :se[t] {option}+={value} 문자열 옵션에 {value} 추가, 숫자 옵션에 {value} 추가
- ✅ ⭐ :se[t] {option}-={value} 문자열 옵션에서 {value}를 제거하고 숫자 옵션에서 {value}를 뺍니다. 여기서는 문자열 옵션을 지원하지 않습니다.
- :se[t] {option}? {option}의 가치를 보여주십시오.
- ⬇️ :se[t] {option}& {option}을 기본 값으로 재설정
- ⬇️ :setl[ocal] ": set"과 같지만 옵션이있는 옵션의 로컬 값을 설정하십시오.
- ⬇️ :setg[lobal] ": set"과 같지만 로컬 옵션의 전역 값을 설정하십시오.
- ⬇️ :fix[del] 't_kb'값에 따른 't_kD'값 설정
+ Status Command Description Note
+ ------------------------- ------------------------ -------------------------------------------------------------------------- -----------------------------------------
+ ⬇️ :se[t] 수정 된 모든 옵션 표시
+ ⬇️ :se[t] all 모든 non-termcap 옵션을 표시
+ ⬇️ :se[t] termcap 모든 termcap 옵션을 표시
+ :se[t] {option} set boolean option (switch it on), 문자열 또는 숫자 옵션 표시
+ :se[t] no{option} boolean option 재설정(switch it off)
+ :se[t] inv{option} boolean option 반전
+ :se[t] {option}={value} 문자열 / 숫자 옵션을 {value}로 설정
+ :se[t] {option}+={value} 문자열 옵션에 {value} 추가, 숫자 옵션에 {value} 추가
+ ✅ ⭐ :se[t] {option}-={value} 문자열 옵션에서 {value}를 제거하고 숫자 옵션에서 {value}를 뺍니다. 여기서는 문자열 옵션을 지원하지 않습니다.
+ :se[t] {option}? {option}의 가치를 보여주십시오.
+ ⬇️ :se[t] {option}& {option}을 기본 값으로 재설정
+ ⬇️ :setl[ocal] ": set"과 같지만 옵션이있는 옵션의 로컬 값을 설정하십시오.
+ ⬇️ :setg[lobal] ": set"과 같지만 로컬 옵션의 전역 값을 설정하십시오.
+ ⬇️ :fix[del] 't_kb'값에 따른 't_kD'값 설정
⬇️ :opt[ions] 기능별로 분류 된 옵션, 한 줄 설명 및 도움말 링크를 보려면 새 창을 엽니 다.

목록이 너무 길기 때문에 이미 지원되는 옵션을 여기에 넣습니다.

- Status Command Default Value Description
- tabstop (ts) 4. we use Code's default value tabSize instead of Vim 파일의 <Tab>이 사용하는 공백 수
- hlsearch (hls) false 이전 검색 패턴이 있으면 일치하는 항목을 모두 강조 표시하십시오.
- ignorecase (ic) true 검색 패턴에서 대소 문자를 무시하십시오.
- smartcase (scs) true 검색 패턴에 대문자가 포함 된 경우 'ignorecase'옵션을 대체하십시오.
- iskeyword (isk) @,48-57,_,128-167,224-235 키워드는 영숫자와 '\ _'를 포함합니다. iskeyword에 대한 사용자 설정이 없으면editor.wordSeparators 속성을 사용합니다.
- scroll (scr) 20 CTRL-U 및 CTRL-D 명령으로 스크롤 할 행의 수입니다.
- expandtab (et) True. we use Code's default value insertSpaces instead of Vim <Tab>을 삽입 할 때 공백을 사용하십시오.
- autoindent true 정상 모드에서cc 또는S를 수행 할 때 들여 쓰기를 유지하여 줄을 바꿉니다.
+ Status Command Default Value Description
+ ------------------ --------------- --------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------
+ tabstop (ts) 4. we use Code's default value tabSize instead of Vim 파일의 <Tab>이 사용하는 공백 수
+ hlsearch (hls) false 이전 검색 패턴이 있으면 일치하는 항목을 모두 강조 표시하십시오.
+ ignorecase (ic) true 검색 패턴에서 대소 문자를 무시하십시오.
+ smartcase (scs) true 검색 패턴에 대문자가 포함 된 경우 'ignorecase'옵션을 대체하십시오.
+ iskeyword (isk) @,48-57,_,128-167,224-235 키워드는 영숫자와 '\ _'를 포함합니다. iskeyword에 대한 사용자 설정이 없으면editor.wordSeparators 속성을 사용합니다.
+ scroll (scr) 20 CTRL-U 및 CTRL-D 명령으로 스크롤 할 행의 수입니다.
+ expandtab (et) True. we use Code's default value insertSpaces instead of Vim <Tab>을 삽입 할 때 공백을 사용하십시오.
+ autoindent true 정상 모드에서cc 또는S를 수행 할 때 들여 쓰기를 유지하여 줄을 바꿉니다.

실행 취소 / 재실행 명령

- Status Command Description Note
- 🔢 u undo last N changes 현재 구현이 모든 경우를 완벽하게 다루지는 않을 수 있습니다.
+ Status Command Description Note
+ ------------------ ------------- -------------------------- -----------------------------------------------------------
+ 🔢 u undo last N changes 현재 구현이 모든 경우를 완벽하게 다루지는 않을 수 있습니다.
🔢 CTRL-R redo last N undone changes 위와 같음
U restore last changed line

외부 명령

- Status Command Description
- ⬇️ :sh[ell] shell을 시작하다
- ⬇️ :!{command} shell로 {command}를 실행
- ⬇️ K 'keywordprg'프로그램이있는 커서 아래의 검색 키워드 (기본값 : "man")
+ Status Command Description
+ ------------ ----------- -------------------------------------------------------------------
+ ⬇️ :sh[ell] shell을 시작하다
+ ⬇️ :!{command} shell로 {command}를 실행
+ ⬇️ K 'keywordprg'프로그램이있는 커서 아래의 검색 키워드 (기본값 : "man")

전 번호

- Status Command Description Note
- , 두 줄 번호를 구분
- ✅ ⭐ ; idem, 두 번째 행을 해석하기 전에 커서를 첫 번째 행 번호로 설정하십시오. 커서 이동은 포함되지 않습니다.
- {number} 절대적인 line number
- . 현재 줄
- $ 파일의 마지막 줄
- % 1,$와 같음 (전체 파일)
- * '<,'>은 같음(시작적 영역)
- 't mark t의 위치
- ⬇️ /{pattern}[/] {pattern}이 일치하는 다음 줄
- ⬇️ ?{pattern}[?] {pattern}이 일치하는 이전 줄
- +[num] 앞 줄 번호에 [num]을 추가하십시오 (기본값 : 1).
- -[num] 이전 줄 번호에서 [num]을 뺍니다 (기본값 : 1).
+ Status Command Description Note
+ ------------------------- ------------- ------------------------------------------------------------------------------------------------------ ----
+ , 두 줄 번호를 구분
+ ✅ ⭐ ; idem, 두 번째 행을 해석하기 전에 커서를 첫 번째 행 번호로 설정하십시오. 커서 이동은 포함되지 않습니다.
+ {number} 절대적인 line number
+ . 현재 줄
+ $ 파일의 마지막 줄
+ % 1,$와 같음 (전체 파일)
+ * '<,'>은 같음(시작적 영역)
+ 't mark t의 위치
+ ⬇️ /{pattern}[/] {pattern}이 일치하는 다음 줄
+ ⬇️ ?{pattern}[?] {pattern}이 일치하는 이전 ���
+ +[num] 앞 줄 번호에 [num]을 추가하십시오 (기본값 : 1).
+ -[num] 이전 줄 번호에서 [num]을 뺍니다 (기본값 : 1).

파일 편집

- Status Command Description Note
- ✅ ⭐ :e[dit] {file} Edit {file}. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
+ Status Command Description Note
+ ------------------------- -------------- ------------ -----------------------------------------------------------------------
+ ✅ ⭐ :e[dit] {file} Edit {file}. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.

Multi-window 명령

- Status Command Description Note
- ✅ ⭐ :e[dit] {file} {file}을 편집하십시오. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
- ✅ ⭐ <ctrl-w> hl 창 사이를 전환합니다. VS Code에는 Window라는 개념이 없으므로 이러한 명령을 그룹화 된 편집기 간 전환에 매핑합니다.
- :sp {file} 현재 창을 두개로 나눕니다.
- ✅ ⭐ :vsp {file} 세로로 현재 창을 두 개로 나눕니다.
- <ctrl-w> s 현재 창을 두개로 나눕니다.
- ✅ ⭐ <ctrl-w> v 세로로 현재 창을 두 개로 나눕니다.
- :new 새 창을 가로로 만들고 빈 파일 편집을 시작하십시오.
- ✅ ⭐ :vne[w] 새 창을 세로로 만들고 빈 파일 편집을 시작하십시오.
+ Status Command Description Note
+ ------------------------- ----------------- -------------------------------------------------- -------------------------------------------------------------------------------------------
+ ✅ ⭐ :e[dit] {file} {file}을 편집하십시오. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
+ ✅ ⭐ <ctrl-w> hl 창 사이를 전환합니다. VS Code에는 Window라는 개념이 없으므로 이러한 명령을 그룹화 된 편집기 간 전환에 매핑합니다.
+ :sp {file} 현재 창을 두개로 나눕니다.
+ ✅ ⭐ :vsp {file} 세로로 현재 창을 두 개로 나눕니다.
+ <ctrl-w> s 현재 창을 두개로 나눕니다.
+ ✅ ⭐ <ctrl-w> v 세로로 현재 창을 두 개로 나눕니다.
+ :new 새 창을 가로로 만들고 빈 파일 편집을 시작하십시오.
+ ✅ ⭐ :vne[w] 새 창을 세로로 만들고 빈 파일 편집을 시작하십시오.

- Status Command Description Note
+ Status Command Description Note
+ ------------------------- ------------------------------------ ------------------------------------------------------------------------------------- ---------------------------------------------------------------
:tabn[ext] 🔢 다음 탭 페이지 또는 탭 페이지 {count}로 이동하십시오. 첫 번째 탭 페이지는 1 번입니다.
- {count}<C-PageDown>, {count}gt 위와 동일
- :tabp[revious] 🔢 이전 탭 페이지로 이동하십시오. 첫 번째부터 마지막까지 감싸줍니다.
- :tabN[ext] 🔢 위와 동일
- {count}<C-PageUp>, {count}gT 위와 동일
- :tabfir[st] 첫 번째 탭 페이지로 이동하십시오.
- :tabl[ast] 마지막 탭 페이지로 이동하십시오.
- :tabe[dit] {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
- ⬇️ :[count]tabe[dit], :[count]tabnew 위와 동일 [count] 는 지원되지 않습니다.
- :tabnew {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
- ⬇️ :[count]tab {cmd} {cmd}를 실행하고 새 창이 열리면 대신 새 탭 페이지를여십시오.
- ✅ ⭐ :tabc[lose][!] 🔢 현재 탭 페이지를 닫거나 탭 페이지 {count}를 닫습니다. 코드는 저장하지 않고 탭을 직접 닫습니다.
- ✅ ⭐ :tabo[nly][!] 다른 모든 탭 페이지를 닫습니다. !는 지원되지 않으며, 코드는 저장하지 않고 탭을 직접 닫습니다.
- :tabm[ove][n] 현재 탭 페이지를 탭 페이지 N 이후로 이동하십시오.
- ⬇️ :tabs 탭 페이지와 포함 된 창을 나열하십시오. 항상 코드의 내장 단축키를 사용할 수 있습니다 :cmd / ctrl + p
- ⬇️ :tabd[o] {cmd} 각 탭 페이지에서 {cmd}를 실행하십시오.
+ {count}<C-PageDown>, {count}gt 위와 동일
+ :tabp[revious] 🔢 이전 탭 페이지로 이동하십시오. 첫 번째부터 마지막까지 감싸줍니다.
+ :tabN[ext] 🔢 위와 동일
+ {count}<C-PageUp>, {count}gT 위와 동일
+ :tabfir[st] 첫 번째 탭 페이지로 이동하십시오.
+ :tabl[ast] 마지막 탭 페이지로 이동하십시오.
+ :tabe[dit] {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
+ ⬇️ :[count]tabe[dit], :[count]tabnew 위와 동일 [count] 는 지원되지 않습니다.
+ :tabnew {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
+ ⬇️ :[count]tab {cmd} {cmd}를 실행하고 새 창이 열리면 대신 새 탭 페이지를여십시오.
+ ✅ ⭐ :tabc[lose][!] 🔢 현재 탭 페이지를 닫거나 탭 페이지 {count}를 닫습니다. 코드는 저장하지 않고 탭을 직접 닫습니다.
+ ✅ ⭐ :tabo[nly][!] 다른 모든 탭 페이지를 닫습니다. !는 지원되지 않으며, 코드는 ���장하지 않고 탭을 직접 닫습니다.
+ :tabm[ove][n] 현재 탭 페이지를 탭 페이지 N 이후로 이동하십시오.
+ ⬇️ :tabs 탭 페이지와 포함 된 창을 나열하십시오. 항상 코드의 내장 단축키를 사용할 수 있습니다 :cmd / ctrl + p
+ ⬇️ :tabd[o] {cmd} 각 탭 페이지에서 {cmd}를 실행하십시오.

Folding

@@ -558,33 +558,33 @@ folding 방법은 'foldmethod' 옵션으로 설정할 수 있습니다. 현재 C

모든 fold-related가 this issue에 의해 차단되었습니다.

- Status Command Description
- ⬇️ zf{motion} or {Visual}zf fold를 만드는 연산자입니다.
- ⬇️ zF [count] 줄의 fold를 만듭니다. "zf"처럼 작동합니다.
- ⬇️ zd 커서에서 하나의 fold를 삭제하십시오.
- ⬇️ zD 커서에서 fold를 재귀적으로 삭제합니다.
- ⬇️ zE 창의 모든 fold를 제거하십시오.
- zo 커서 아래에 하나의 fold를 엽니다. 카운트가 주어지면 그 많은 폴드가 열립니다.
- zO 커서 아래의 모든 fold를 재귀적으로 엽니다.
- zc 커서 아래에서 한 개의 fold를 닫습니다. 카운트가 주어지면 깊은 곳의 많은 folds가 닫힙니다.
- zC 커서 아래의 모든fold를 재귀적으로 닫습니다.
- za 닫힌 fold에있을 때 : 여십시오. 열린 fold시 : 닫고 '접을 수 있음'을 설정하십시오.
- ⬇️ zA 열린 fold에 있을 때: 재귀적으로 엽니다. 닫힌 fold에 있을 때 : 재귀적으로 닫고 'foldenable'을 설정하십시오.
- ⬇️ zv View cursor line: 라인을 만들기에 충분한 fold를 엽니다.
- ⬇️ zx 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
- ⬇️ zX Update folds : 수동으로 열리고 닫힌 fold를 취소합니다. 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
- ⬇️ zm Fold more : 'foldlevel'에서 하나를 빼십시오.
- zM Close all folds : 'foldlevel'을 0으로 설정하십시오. 'foldenable'이 설정됩니다.
- ⬇️ zr Reduce folding : '폴더'에 하나를 추가하십시오.
- zR Open all fold. 'foldlevel'을 가장 높은 접기 수준으로 설정합니다.
- ⬇️ zn Fold none : 'foldenable'을 재설정하십시오. 모든 주름이 열립니다.
- ⬇️ zN Fold normal : 'foldenable'을 설정하십시오. 모든 주름은 이전과 동일합니다.
- ⬇️ zi 'foldenable'을 반전시킵니다.
- ⬇️ [z 현재 열린 fold 시작으로 이동합니다.
- ⬇️ ]z 현재 열린 fold의 끝으로 이동합니다.
- ⬇️ zj 다음 fold의 시작 부분으로 아래로 이동하십시오.
- ⬇️ zk 이전 fold의 끝으로 위로 이동하십시오.
+ Status Command Description
+ ------------------ ------------------------ -----------------------------------------------------------------------------------------------------------------------------
+ ⬇️ zf{motion} or {Visual}zf fold를 만드는 연산자입니다.
+ ⬇️ zF [count] 줄의 fold를 만듭니다. "zf"처럼 작동합니다.
+ ⬇️ zd 커서에서 하나의 fold를 삭제하십시오.
+ ⬇️ zD 커서에서 fold를 재귀적으로 삭제합니다.
+ ⬇️ zE 창의 모든 fold를 제거하십시오.
+ zo 커서 아래에 하나의 fold를 엽니다. 카운트가 주어지면 그 많은 폴드가 열립니다.
+ zO 커서 아래의 모든 fold를 재귀적으로 엽니다.
+ zc 커서 아래에서 한 개의 fold를 닫습니다. 카운트가 주어지면 깊은 곳의 많은 folds가 닫힙니다.
+ zC 커서 아래의 모든fold를 재귀적으로 닫습니다.
+ za 닫힌 fold에있을 때 : 여십시오. 열린 fold시 : 닫고 '접을 수 있음'을 설정하십시오.
+ ⬇️ zA 열린 fold에 있을 때: 재귀적으로 엽니다. 닫힌 fold에 있을 때 : 재귀적으로 닫고 'foldenable'을 설정하십시오.
+ ⬇️ zv View cursor line: 라인을 만들기에 충분한 fold를 엽니다.
+ ⬇️ zx 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
+ ⬇️ zX Update folds : 수동으로 열리고 닫힌 fold를 취소합니다. 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
+ ⬇️ zm Fold more : 'foldlevel'에서 하나를 빼십시오.
+ zM Close all folds : 'foldlevel'을 0으로 설정하십시오. 'foldenable'이 설정됩니다.
+ ⬇️ zr Reduce folding : '폴더'에 하나를 추가하십시오.
+ zR Open all fold. 'foldlevel'을 가장 높은 접기 수준으로 설정합니다.
+ ⬇️ zn Fold none : 'foldenable'을 재설정하십시오. 모든 주름이 열립니다.
+ ⬇️ zN Fold normal : 'foldenable'을 설정하십시오. 모든 주름은 이전과 동일합니다.
+ ⬇️ zi 'foldenable'을 반전시킵니다.
+ ⬇️ [z 현재 열린 fold 시작으로 이동합니다.
+ ⬇️ ]z 현재 열린 fold의 끝으로 이동합니다.
+ ⬇️ zj 다음 fold의 시작 부분으로 아래로 이동하십시오.
+ ⬇️ zk 이전 fold의 끝으로 위로 이동하십시오.

Fold 옵션

diff --git a/src/actions/commands/actions.ts b/src/actions/commands/actions.ts
index 20b91f9..6384f34 100644
--- a/src/actions/commands/actions.ts
+++ b/src/actions/commands/actions.ts
@@ -449,7 +449,11 @@ class CommandInsertWord extends BaseCommand {
@RegisterAction
class CommandRecordMacro extends BaseCommand {
modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['q', ''], ['q', ''], ['q', '"']];
  • keys = [

  • ['q', ''],

  • ['q', ''],

  • ['q', '"'],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    const register = this.keysPressed[1];
    @@ -2296,7 +2300,10 @@ export class CommandShowCommandHistory extends BaseCommand {
    @RegisterAction
    export class CommandShowSearchHistory extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['q', '/'], ['q', '?']];
  • keys = [

  • ['q', '/'],

  • ['q', '?'],

  • ];

    private direction = SearchDirection.Forward;

@@ -3032,7 +3039,10 @@ class CommandGoForwardInChangelist extends BaseCommand {
@RegisterAction
class CommandGoStartPrevOperatedText extends BaseCommand {
modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['`', '['], ["'", '[']];
  • keys = [

  • ['`', '['],

  • ["'", '['],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3048,7 +3058,10 @@ class CommandGoStartPrevOperatedText extends BaseCommand {
    @RegisterAction
    class CommandGoEndPrevOperatedText extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['`', ']'], ["'", ']']];
  • keys = [

  • ['`', ']'],

  • ["'", ']'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3064,7 +3077,10 @@ class CommandGoEndPrevOperatedText extends BaseCommand {
    @RegisterAction
    class CommandGoLastChange extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['`', '.'], ["'", '.']];
  • keys = [

  • ['`', '.'],

  • ["'", '.'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3314,7 +3330,12 @@ class CommandNavigateLastBOL extends BaseCommand {
    @RegisterAction
    class CommandQuit extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['', 'q'], ['', ''], ['', 'c'], ['', '']];
  • keys = [

  • ['', 'q'],

  • ['', ''],

  • ['', 'c'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    new QuitCommand({}).execute();
    @@ -3326,7 +3347,10 @@ class CommandQuit extends BaseCommand {
    @RegisterAction
    class CommandOnly extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['', 'o'], ['', '']];
  • keys = [

  • ['', 'o'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    new OnlyCommand({}).execute();
    @@ -3402,7 +3426,10 @@ class MoveToLeftPane extends BaseCommand {
    @RegisterAction
    class CycleThroughPanes extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', ''], ['', 'w']];
  • keys = [

  • ['', ''],

  • ['', 'w'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3423,7 +3450,10 @@ class BaseTabCommand extends BaseCommand {
    @RegisterAction
    class VerticalSplit extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', 'v'], ['', '']];
  • keys = [

  • ['', 'v'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    vimState.postponedCodeViewChanges.push({
    @@ -3438,7 +3468,10 @@ class VerticalSplit extends BaseCommand {
    @RegisterAction
    class OrthogonalSplit extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', 's'], ['', '']];
  • keys = [

  • ['', 's'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    vimState.postponedCodeViewChanges.push({
    diff --git a/src/actions/motion.ts b/src/actions/motion.ts
    index ca96602..2fd533f 100644
    --- a/src/actions/motion.ts
    +++ b/src/actions/motion.ts
    @@ -791,7 +791,10 @@ class MoveScreenLineCenter extends MoveByScreenLine {
    @RegisterAction
    export class MoveUpByDisplayLine extends MoveByScreenLine {
    modes = [ModeName.Insert, ModeName.Normal, ModeName.Visual];

  • keys = [['g', 'k'], ['g', '']];
  • keys = [
  • ['g', 'k'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'up';
    by: CursorMoveByUnit = 'wrappedLine';
    value = 1;
    @@ -800,7 +803,10 @@ export class MoveUpByDisplayLine extends MoveByScreenLine {
    @RegisterAction
    class MoveDownByDisplayLine extends MoveByScreenLine {
    modes = [ModeName.Insert, ModeName.Normal, ModeName.Visual];
  • keys = [['g', 'j'], ['g', '']];
  • keys = [
  • ['g', 'j'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'down';
    by: CursorMoveByUnit = 'wrappedLine';
    value = 1;
    @@ -814,7 +820,10 @@ class MoveDownByDisplayLine extends MoveByScreenLine {
    @RegisterAction
    class MoveUpByScreenLineVisualLine extends MoveByScreenLine {
    modes = [ModeName.VisualLine];
  • keys = [['g', 'k'], ['g', '']];
  • keys = [
  • ['g', 'k'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'up';
    by: CursorMoveByUnit = 'line';
    value = 1;
    @@ -823,7 +832,10 @@ class MoveUpByScreenLineVisualLine extends MoveByScreenLine {
    @RegisterAction
    class MoveDownByScreenLineVisualLine extends MoveByScreenLine {
    modes = [ModeName.VisualLine];
  • keys = [['g', 'j'], ['g', '']];
  • keys = [
  • ['g', 'j'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'down';
    by: CursorMoveByUnit = 'line';
    value = 1;
    @@ -832,7 +844,10 @@ class MoveDownByScreenLineVisualLine extends MoveByScreenLine {
    @RegisterAction
    class MoveUpByScreenLineVisualBlock extends BaseMovement {
    modes = [ModeName.VisualBlock];
  • keys = [['g', 'k'], ['g', '']];
  • keys = [

  • ['g', 'k'],

  • ['g', ''],

  • ];
    doesntChangeDesiredColumn = true;

    public async execAction(position: Position, vimState: VimState): Promise<Position | IMovement> {
    @@ -848,7 +863,10 @@ class MoveUpByScreenLineVisualBlock extends BaseMovement {
    @RegisterAction
    class MoveDownByScreenLineVisualBlock extends BaseMovement {
    modes = [ModeName.VisualBlock];

  • keys = [['g', 'j'], ['g', '']];
  • keys = [

  • ['g', 'j'],

  • ['g', ''],

  • ];
    doesntChangeDesiredColumn = true;

    public async execAction(position: Position, vimState: VimState): Promise<Position | IMovement> {
    diff --git a/src/actions/plugins/sneak.ts b/src/actions/plugins/sneak.ts
    index 9284c26..e72283c 100644
    --- a/src/actions/plugins/sneak.ts
    +++ b/src/actions/plugins/sneak.ts
    @@ -7,7 +7,10 @@ import { BaseMovement, IMovement } from '../baseMotion';

@RegisterAction
export class SneakForward extends BaseMovement {

  • keys = [['s', '', ''], ['z', '', '']];
  • keys = [

  • ['s', '', ''],

  • ['z', '', ''],

  • ];

    public couldActionApply(vimState: VimState, keysPressed: string[]): boolean {
    const startingLetter = vimState.recordedState.operator === undefined ? 's' : 'z';
    @@ -46,7 +49,7 @@ export class SneakForward extends BaseMovement {

    const ignorecase =
      configuration.sneakUseIgnorecaseAndSmartcase &&
    
  •    (configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString)));
    
  •    configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString));
    
     // Check for matches
     if (ignorecase) {
    

@@ -68,7 +71,10 @@ export class SneakForward extends BaseMovement {

@RegisterAction
export class SneakBackward extends BaseMovement {

  • keys = [['S', '', ''], ['Z', '', '']];
  • keys = [

  • ['S', '', ''],

  • ['Z', '', ''],

  • ];

    public couldActionApply(vimState: VimState, keysPressed: string[]): boolean {
    const startingLetter = vimState.recordedState.operator === undefined ? 'S' : 'Z';
    @@ -106,7 +112,7 @@ export class SneakBackward extends BaseMovement {

    const ignorecase =
      configuration.sneakUseIgnorecaseAndSmartcase &&
    
  •    (configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString)));
    
  •    configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString));
    
     // Check for matches
     if (ignorecase) {
    

diff --git a/src/configuration/configuration.ts b/src/configuration/configuration.ts
index ded8494..e64450d 100644
--- a/src/configuration/configuration.ts
+++ b/src/configuration/configuration.ts
@@ -276,14 +276,24 @@ class Configuration implements IConfiguration {
@overlapSetting({
settingName: 'lineNumbers',
defaultValue: true,

  • map: new Map([['on', true], ['off', false], ['relative', false], ['interval', false]]),
  • map: new Map([
  •  ['on', true],
    
  •  ['off', false],
    
  •  ['relative', false],
    
  •  ['interval', false],
    
  • ]),
    })
    number: boolean;

@overlapSetting({
settingName: 'lineNumbers',
defaultValue: false,

  • map: new Map([['on', false], ['off', false], ['relative', true], ['interval', false]]),
  • map: new Map([
  •  ['on', false],
    
  •  ['off', false],
    
  •  ['relative', true],
    
  •  ['interval', false],
    
  • ]),
    })
    relativenumber: boolean;

diff --git a/src/state/recordedState.ts b/src/state/recordedState.ts
index 322521e..1ceee1f 100644
--- a/src/state/recordedState.ts
+++ b/src/state/recordedState.ts
@@ -167,7 +167,7 @@ export class RecordedState {
mode !== ModeName.SearchInProgressMode &&
mode !== ModeName.CommandlineInProgress &&
(this.hasRunAMovement ||

  •    (mode === ModeName.Visual || mode === ModeName.VisualLine) ||
    
  •    mode === ModeName.Visual || mode === ModeName.VisualLine ||
       (this.operators.length > 1 &&
         this.operators.reverse()[0].constructor === this.operators.reverse()[1].constructor))
    
    );
    diff --git a/test/actions/baseAction.test.ts b/test/actions/baseAction.test.ts
    index ddd01a0..4172c8a 100644
    --- a/test/actions/baseAction.test.ts
    +++ b/test/actions/baseAction.test.ts
    @@ -12,7 +12,10 @@ class TestAction1D extends BaseAction {
    }

class TestAction2D extends BaseAction {

  • keys = [['a', 'b'], ['c', 'd']];
  • keys = [
  • ['a', 'b'],
  • ['c', 'd'],
  • ];
    modes = [ModeName.Normal];
    }

@@ -36,7 +39,14 @@ suite('base action', () => {
[[['a'], ['b']], ['c'], false],
[['a', 'b'], ['a', 'b'], true],
[['a', 'b'], ['a', 'c'], false],

  •  [[['a', 'b'], ['c', 'd']], ['c', 'd'], true],
    
  •  [
    
  •    [
    
  •      ['a', 'b'],
    
  •      ['c', 'd'],
    
  •    ],
    
  •    ['c', 'd'],
    
  •    true,
    
  •  ],
     [[''], ['a'], false],
     [['<Esc>'], ['<Esc>'], true],
    
    ];
    diff --git a/test/jumpTracker.test.ts b/test/jumpTracker.test.ts
    index 1da5fb0..2e89e5a 100644
    --- a/test/jumpTracker.test.ts
    +++ b/test/jumpTracker.test.ts
    @@ -170,7 +170,13 @@ suite('Record and navigate jumps', () => {
    // Note the column number was preserved for newer jump when it found duplicates on a line.
    assert.deepEqual(
    jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),
  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1'], [3, 5, 'file1'], [4, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •      [3, 5, 'file1'],
    
  •      [4, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting two lines`
     );
    

@@ -183,7 +189,12 @@ suite('Record and navigate jumps', () => {
// Preserve the newest jump in that case
assert.deepEqual(
jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),

  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1'], [3, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •      [3, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting another line`
     );
    

@@ -195,7 +206,11 @@ suite('Record and navigate jumps', () => {
// If you delete lines such that jumps are past EOF, delete the jumps
assert.deepEqual(
jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),

  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting all lines in file`
     );
    

    });
    diff --git a/test/testSimplifier.ts b/test/testSimplifier.ts
    index ba6176e..52a8e29 100644
    --- a/test/testSimplifier.ts
    +++ b/test/testSimplifier.ts
    @@ -27,7 +27,10 @@ export function getTestingFunctions() {

    test(testObj.title, async () =>
    testIt

  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

@@ -42,7 +45,10 @@ export function getTestingFunctions() {

 test.only(testObj.title, async () =>
   testIt
  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

@@ -56,7 +62,10 @@ export function getTestingFunctions() {

 test.skip(testObj.title, async () =>
   testIt
  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

Prettier Failed. Run [14:46:16] Using gulpfile ~/build/VSCodeVim/Vim/gulpfile.js
[14:46:16] Starting 'forceprettier'...
[14:46:32] Finished 'forceprettier' after 16 s and commit changes to resolve.


</details>


###### TravisBuddy Request Identifier: b6584c30-0c6d-11ea-9489-798921b627f8

RoadMap Original
@TravisBuddy
Copy link

Travis tests have failed

Hey @DokyungHwang,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

Node.js: 8

View build log

if [[ $(git diff-index HEAD -- *.js *.ts *.md) ]]; then git diff; echo "Prettier Failed. Run `gulp forceprettier` and commit changes to resolve."; exit 1; fi
diff --git a/Korea/CODE_OF_CONDUCT.md b/Korea/CODE_OF_CONDUCT.md
index 81de4ec..de2aea7 100644
--- a/Korea/CODE_OF_CONDUCT.md
+++ b/Korea/CODE_OF_CONDUCT.md
@@ -7,7 +7,7 @@
 ## 우리의 책임
 
 프로젝트 매니저(Project Maintainer)는 다음과 같은 권리와 책임을 가지고 있습니다.
- 기여활동에 대해 삭제/편집 혹은 코멘트,커밋,코드작성,위키수정,이슈보고, 그리고 기타 규율을 지키지 않는 기여활동에 대해
+기여활동에 대해 삭제/편집 혹은 코멘트,커밋,코드작성,위키수정,이슈보고, 그리고 기타 규율을 지키지 않는 기여활동에 대해
 또한 임시/영구적으로 부적절한 행동을하고, 공격적으로 타인을 대하거나, 해로운 짓을 하는 사람을 추방(ban)할 수 있습니다.
 
 프로젝트 매니저는 다음 사항에 대한 수행 권리와 책임을 가지고 있습니다.
diff --git a/Korea/CONTRIBUTING.md b/Korea/CONTRIBUTING.md
index fa2fc59..f077ff9 100644
--- a/Korea/CONTRIBUTING.md
+++ b/Korea/CONTRIBUTING.md
@@ -6,7 +6,7 @@ VSCodeVim을 개선하는 데 도움을 주셔서 감사합니다! :clap:
 
 ## 이슈 제출
 
-[GitHub 이슈 트래커](https://github.com/VSCodeVim/Vim/issues)는 버그 및 개선 제안 추적에 선호되는 채널입니다. 
+[GitHub 이슈 트래커](https://github.com/VSCodeVim/Vim/issues)는 버그 및 개선 제안 추적에 선호되는 채널입니다.
 새로운 버그 리포트를 생성 할 때 :
 
 - 다른 사람이 이미 문제를보고했거나 아이디어를 요청했는지 확인하려면 기존 문제를 검색하십시오.
@@ -86,7 +86,7 @@ PR을 제출할 때 PR이 열릴 때 GitHub에서 제공하는 템플릿을 작
 
 #### vscode.window.onDidChangeTextEditorSelection
 
-이것은 클릭 이벤트 기반 API가없는 IDE에서 클릭 이벤트를 시뮬레이트하는 나의 핵입니다 (아직?). 방금 들어온 선택 항목을 확인하여 이전에 상태 시스템을 마지막으로 업데이트했을 때 선택 항목을 설정했다고 생각한 것과 같은지 확인합니다. 그렇지 않은 경우 사용자가 클릭했을 수 있습니다. (그러나 아마도 또한  탭을 완성 할 수도있었습니다!)
+이것은 클릭 이벤트 기반 API가없는 IDE에서 클릭 이벤트를 시뮬레이트하는 나의 핵입니다 (아직?). 방금 들어온 선택 항목을 확인하여 이전에 상태 시스템을 마지막으로 업데이트했을 때 선택 항목을 설정했다고 생각한 것과 같은지 확인합니다. 그렇지 않은 경우 사용자가 클릭했��� 수 있습니다. (그러나 아마도 또한 탭을 완성 할 수도있었습니다!)
 
 ## 배포
 
diff --git a/Korea/README.md b/Korea/README.md
index e233dea..c0e76ed 100644
--- a/Korea/README.md
+++ b/Korea/README.md
@@ -6,7 +6,7 @@
 [![https://travis-ci.org/VSCodeVim/Vim](https://travis-ci.org/VSCodeVim/Vim.svg?branch=master)](https://travis-ci.org/VSCodeVim/Vim)
 [![https://vscodevim.herokuapp.com/](https://img.shields.io/badge/vscodevim-slack-blue.svg?logo=slack)](https://vscodevim.herokuapp.com/)
 
-VSCodeVim은  [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim emulation입니다.
+VSCodeVim은 [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim emulation입니다.
 
 - 🚚 지원되는 Vim 기능의 전체 목록은 [로드맵]을 참조하십시오.(ROADMAP.md).
 - 📃 [변경된 로그](CHANGELOG.md)에는 릴리스 간 주요 / 주요 / 최소 업데이트가 요약되어 있습니다.
@@ -44,7 +44,7 @@ VSCodeVim은  [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim
 
 ## 💾 설치
 
-VSCodeVim은 VS Code를  [설치](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) 하고 다시로드 한 후에 자동으로 활성화됩니다.
+VSCodeVim은 VS Code를 [설치](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) 하고 다시로드 한 후에 자동으로 활성화됩니다.
 
 > :warning: Vimscript는 지원되지 않습니다. 따라서 `.vimrc`를로드하거나 `.vim` vim 플러그인을 사용할 수 없습니다. [설정](#settings)과 [Emulated plugins](#-emulated-plugins)을 사용하여 이것을 복제해야합니다.
 
@@ -108,7 +108,7 @@ $ defaults delete -g ApplePressAndHoldEnabled
 
 이 설정은 VSCodeVim에만 적용됩니다.
 
-| 셋팅                          | 설명                                                                                                                                                                                                                                                                                                                                                                                                                      | 타입    | 기본값                         |
+| 셋팅                             | 설명                                                                                                                                                                                                                                                                                                                                                                                                                             | 타입    | 기본값                                |
 | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------- |
 | vim.changeWordIncludesWhitespace | Include trailing whitespace when changing word. This configures the <kbd>cw</kbd> action to act consistently as its siblings (<kbd>yw</kbd> and <kbd>dw</kbd>) instead of acting as <kbd>ce</kbd>.                                                                                                                                                                                                                               | Boolean | false                                 |
 | vim.cursorStylePerMode._{Mode}_  | Configure a specific cursor style for _{Mode}_. Omitted modes will use [default cursor type](https://github.com/VSCodeVim/Vim/blob/4a6fde6dbd4d1fac1f204c0dc27c32883651ef1a/src/mode/mode.ts#L34) Supported cursors: line, block, underline, line-thin, block-outline, and underline-thin.                                                                                                                                       | String  | None                                  |
@@ -135,12 +135,12 @@ $ defaults delete -g ApplePressAndHoldEnabled
 Ex-command에 neovim을 활용하려면,
 
 1.  [neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim)을 설치하세요
-2. 다음 구성을 수정하세요:
+2.  다음 구성을 수정하세요:
 
-| 환경          | 설명                    | 타입    | 기본 값 |
-| ---------------- | ------------------------------ | ------- | ------------- |
-| vim.enableNeovim |  Neovim 활성화                  | Boolean | false         |
-| vim.neovimPath   | neovim 실행 파일의 전체 경로 | String  |               |
+| 환경             | 설명                         | 타입    | 기본 값 |
+| ---------------- | ---------------------------- | ------- | ------- |
+| vim.enableNeovim | Neovim 활성화                | Boolean | false   |
+| vim.neovimPath   | neovim 실행 파일의 전체 경로 | String  |         |
 
 neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 있습니다:
 
@@ -190,7 +190,7 @@ neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 
     ]

-- <leader>m 을 바인드하여 책갈피를 추가하고 <leader>b를 사용하여 모든 책갈피 목록을 여십시오 (북마크 확장자 사용):
+- <leader>m 을 바인드하여 책갈피를 추가하고 <leader>b를 사용하여 모든 책갈피 목록을 여십시오 (북마크 확장자 사용):

    "vim.normalModeKeyBindingsNonRecursive": [
@@ -303,7 +303,7 @@ neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 
#### `"vim.insertModeKeyBindingsNonRecursive"`/`"normalModeKeyBindingsNonRecursive"`/`"visualModeKeyBindingsNonRecursive"`

- 비 재귀 키 바인딩은 삽입, 일반 및 시각적 모드에 사용하도록 재정의합니다.
-- _예:_  `j` 를 `gj`에 바인드하십시오.이 바인딩을 정상적으로 시도하면 gj의 j는 계속해서 gj로 확장됩니다. insertModeKeyBindingsNonRecursive 및 / 또는 normalModeKeyBindingNonRecursive를 사용하여이 순환 확장을 중지하십시오.
+- _예:_ `j` 를 `gj`에 바인드하십시오.이 바인딩을 정상적으로 시도하면 gj의 j는 계속해서 gj로 확장됩니다. insertModeKeyBindingsNonRecursive 및 / 또는 normalModeKeyBindingNonRecursive를 사용하여이 순환 확장을 중지하십시오.

```json
    "vim.normalModeKeyBindingsNonRecursive": [
@@ -350,20 +350,20 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니
3.  VS Code 설정
4.  VSCodeVim 기본 값

-| 환경          | 설명                                                                                                                                                                                                                                                           | 타입    | 기본 값 |
-| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------- |
-| vim.autoindent   | 새 줄을 시작할 때 현재 줄에서 들여 쓰기                                                                                                                                                                                                               | Boolean | true          |
-| vim.hlsearch     | 현재 검색과 일치하는 모든 텍스트를 강조 표시합니다                                                                                                                                                                                                                          | Boolean | false         |
-| vim.ignorecase   | 검색 패턴에서 대소 문자 무시                                                                                                                                                                                                                          | Boolean | true          |
-| vim.incsearch    | 검색을 입력하는 동안 다음 매치 표시                                                                                                                                                                                                                           | Boolean | true          |
-| vim.leader       | 키 재 매핑에 사용될`<leader>`의 키를 정의합니다                                                                                                                                                                                                               | String  | `\`           |
-| vim.showcmd      | 상태 표시 줄에 (부분) 명령 표시                                                                                                                                                                                                                     | Boolean | true          |
-| vim.showmodename | 상태 표시 줄에 현재 모드 이름 표시                                                                                                                                                                                                                           | Boolean | true          |
-| vim.smartcase    | 검색 패턴에 대문자가 포함 된 경우 '무시'설정을 대체하십시오.                                                                                                                                                                                     | Boolean | true          |
-| vim.textwidth    | `gq`를 사용할 때 너비를 자동 줄 바꿈                                                                                                                                                                                                                                    | Number  | 80            |
-| vim.timeout      | 재 매핑 된 명령에 대한 시간 초과 (밀리 초)                                                                                                                                                                                                                      | Number  | 1000          |
-| vim.whichwrap    | 줄의 시작과 끝에서 줄 바꿈을 제어합니다. 다음 / 이전 행으로 줄 바꿈해야하는 쉼표로 구분 된 키 집합입니다. 화살표 키는 삽입 모드에서 `[`  및  `]` 로 표시되며 일반 및 시각적 모드에서는`<` 및  `>` 로 표시됩니다. "everything"을 감싸려면 이것을`h,l,<,>,[,]`로 설정하십시오. | String  | ``            |
-| vim.report       |라인 수 보고에 대한 임계 값이 변경되었습니다.                                                                                                                                                                                                                     | Number  | 2             |
+| 환경             | 설명                                                                                                                                                                                                                                                                      | 타입    | 기본 값 |
+| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------- |
+| vim.autoindent   | 새 줄을 시작할 때 현재 줄에서 들여 쓰기                                                                                                                                                                                                                                   | Boolean | true    |
+| vim.hlsearch     | 현재 검색과 일치하는 모든 텍스트를 강조 표시합니다                                                                                                                                                                                                                        | Boolean | false   |
+| vim.ignorecase   | 검색 패턴에서 대소 문자 무시                                                                                                                                                                                                                                              | Boolean | true    |
+| vim.incsearch    | 검색을 입력하는 동안 다음 매치 표시                                                                                                                                                                                                                                       | Boolean | true    |
+| vim.leader       | 키 재 매핑에 사용될`<leader>`의 키를 정의합니다                                                                                                                                                                                                                           | String  | `\`     |
+| vim.showcmd      | 상태 표시 줄에 (부분) 명령 표시                                                                                                                                                                                                                                           | Boolean | true    |
+| vim.showmodename | 상태 표시 줄에 현재 모드 이름 표시                                                                                                                                                                                                                                        | Boolean | true    |
+| vim.smartcase    | 검색 패턴에 대문자가 포함 된 경우 '무시'설정을 대체하십시오.                                                                                                                                                                                                              | Boolean | true    |
+| vim.textwidth    | `gq`를 사용할 때 너비를 자동 줄 바꿈                                                                                                                                                                                                                                      | Number  | 80      |
+| vim.timeout      | 재 매핑 된 명령에 대한 시간 초과 (밀리 초)                                                                                                                                                                                                                                | Number  | 1000    |
+| vim.whichwrap    | 줄의 시작과 끝에서 줄 바꿈을 제어합니다. 다음 / 이전 행으로 줄 바���해야하는 쉼표로 구분 된 키 집합입니다. 화살표 키는 삽입 모드에서 `[` 및 `]` 로 표시되며 일반 및 시각적 모드에서는`<` 및 `>` 로 표시됩니다. "everything"을 감싸려면 이것을`h,l,<,>,[,]`로 설정하십시오. | String  | ``      |
+| vim.report       | 라인 수 보고에 대한 임계 값이 변경되었습니다.                                                                                                                                                                                                                             | Number  | 2       |

## 🖱️ 멀티커서모드

@@ -372,7 +372,7 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니
다음으로 다중 커서 모드로 들어갑니다:

- On OSX, `cmd-d`. On Windows, `ctrl-d`.
-- `gb` `cmd-d` (OSX) 또는 `ctrl-d`  (Windows)에 해당하는 새로운 바로 가기가 추가되었습니다. 다음 단어에 커서가 현재있는 단어와 일치하는 다른 커서를 추가합니다.
+- `gb` `cmd-d` (OSX) 또는 `ctrl-d` (Windows)에 해당하는 새로운 바로 가기가 추가되었습니다. 다음 단어에 커서가 현재있는 단어와 일치하는 다른 커서를 추가합니다.
- "Add Cursor Above/Below"을 실행하거나 다른 플랫폼으로 빠르게 접근하기.

커서가 여러 개 있으면 Vim 명령을 사용할 수 있습니다. 대부분 작동해야합니다. 일부는 지원되지 않습니다(참조 [PR#587](https://github.com/VSCodeVim/Vim/pull/587)).
@@ -386,7 +386,7 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니

> :warning: 이 플러그인을 사용하면 성능에 영향을 미칩니다. 상태 표시 줄을 변경하기 위해 작업 공간 settings.json의 구성을 재정 의하여 작업 디렉토리의 대기 시간이 증가하고 diff가 지속적으로 변경됩니다(참조 [이슈#2124](https://github.com/VSCodeVim/Vim/issues/2124)).

-현재 모드에 따라 상태 표시 줄의 색상을 변경하십시오. 활성화되면`"vim.statusBarColors"`를 구성하십시오. 각 모드의 색상은 `string`  (배경 만) 또는 `string[]` (배경, 전경)로 정의 할 수 있습니다.
+현재 모드에 따라 상태 표시 줄의 색상을 변경하십시오. 활성화되면`"vim.statusBarColors"`를 구성하십시오. 각 모드의 색상은 `string` (배경 만) 또는 `string[]` (배경, 전경)로 정의 할 수 있습니다.

```json
    "vim.statusBarColorControl": true,
@@ -402,24 +402,24 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니

[vim-easymotion](https://github.com/easymotion/vim-easymotion)을 기반으로하며 다음 설정을 통해 구성됩니다:

-| 환경                                    | 설명                                                                                                                                                                                                                                                       | 타입           | 기본값  |
+| 환경                                       | 설명                                                                                                                                                                                                                                                              | 타입           | 기본값         |
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- |
-| vim.easymotion                             | easymotion 플러그인 활성화 / 비활성화                                                                                                                                                                                                                                  | Boolean        | false          |
-| vim.easymotionMarkerBackgroundColor        | 마커 상자의 배경색입니다.                                                                                                                                                                                                                          |
-| vim.easymotionMarkerForegroundColorOneChar | 한 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                                                        |
-| vim.easymotionMarkerForegroundColorTwoChar | 한 문자 마커와 구별하는 데 사용되는 두 문자 마커의 글꼴 색상입니다.                                                                                                                                                                       |
-| vim.easymotionMarkerWidthPerChar           | 각 문자에 할당 된 너비 (픽셀)입니다.                                                                                                                                                                                                                 |
-| vim.easymotionMarkerHeight                 |마커의 높이입니다.                                                                                                                                                                                                                                       |
-| vim.easymotionMarkerFontFamily             | 마커 텍스트에 사용 된 글꼴 모음입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerFontSize               | 마커 텍스트에 사용되는 글꼴 크기입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerFontWeight             | 마커 텍스트에 사용 된 글꼴 굵기입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerYOffset                | 마커 상단과 텍스트 사이의 거리 (일반적으로 높이 또는 글꼴 크기가 변경된 경우 약간의 조정이 필요함).                                                                                                                           |
-| vim.easymotionKeys                         | 점프 마커 이름에 사용되는 문자                                                                                                                                                                                                                          |
+| vim.easymotion                             | easymotion 플러그인 활성화 / 비활성화                                                                                                                                                                                                                             | Boolean        | false          |
+| vim.easymotionMarkerBackgroundColor        | 마커 상자의 배경색입니다.                                                                                                                                                                                                                                         |
+| vim.easymotionMarkerForegroundColorOneChar | 한 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                                                                   |
+| vim.easymotionMarkerForegroundColorTwoChar | 한 문자 마커와 구별하는 데 사용되는 두 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                               |
+| vim.easymotionMarkerWidthPerChar           | 각 문자에 할당 된 너비 (픽셀)입니다.                                                                                                                                                                                                                              |
+| vim.easymotionMarkerHeight                 | 마커의 높이입니다.                                                                                                                                                                                                                                                |
+| vim.easymotionMarkerFontFamily             | 마커 텍스트에 사용 된 글꼴 모음입니다.                                                                                                                                                                                                                            |
+| vim.easymotionMarkerFontSize               | 마커 텍스트에 사용되는 글꼴 크기입니다.                                                                                                                                                                                                                           |
+| vim.easymotionMarkerFontWeight             | 마커 텍스트에 사용 된 글꼴 굵기입니다.                                                                                                                                                                                                                            |
+| vim.easymotionMarkerYOffset                | 마커 상단과 텍스트 사이의 거리 (일반적으로 높이 또는 글꼴 크기가 변경된 경우 약간의 조정이 필요함).                                                                                                                                                               |
+| vim.easymotionKeys                         | 점프 마커 이름에 사용되는 문자                                                                                                                                                                                                                                    |
| vim.easymotionJumpToAnywhereRegex          | Custom regex to match for JumpToAnywhere motion (analogous to `Easymotion_re_anywhere`). Example setting (which also matches start & end of line, as well as Javascript comments in addition to the regular behavior (note the double escaping required): ^\\s\*. | \\b[A-Za-z0-9] | [A-Za-z0-9]\\b | \_. | \\#. | [a-z][a-z] | // | .\$" |

easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하십시오. 모션을 시작하면 텍스트 데코레이터 / 마커가 표시되며 표시된 키를 눌러 해당 위치로 이동할 수 있습니다. `leader`는 설정이 가능하며 기본적으로`\` 입니다.

-| Motion 명령어                      | 설명                                                                                                 |
+| Motion 명령어                       | 설명                                                                                                        |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `<leader><leader> s <char>`         | Search character                                                                                            |
| `<leader><leader> f <char>`         | Find character forwards                                                                                     |
@@ -450,23 +450,23 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

[surround.vim](https://github.com/tpope/vim-surround)을 기반으로 플러그인은 괄호, 괄호, 따옴표 및 XML 태그와 같은 주변 문자를 처리하는 데 ���용됩니다.

-| 설정      | 설명                 | 타입    | 기본값 |
-| ------------ | --------------------------- | ------- | ------------- |
-| vim.surround | Enable/disable vim-surround | Boolean | true          |
+| 설정         | 설명                        | 타입    | 기본값 |
+| ------------ | --------------------------- | ------- | ------ |
+| vim.surround | Enable/disable vim-surround | Boolean | true   |

`<desired char>`또는`<existing char>`로`t` 또는`<`는 태그를 수행하고 태그 입력 모드로 들어갑니다. `>`대신`<CR>`을 사용하여 태그 변경을 마치면 기존 속성이 유지됩니다.

-| Surround Command                     | 설명                                                           |
+| Surround Command                     | 설명                                                                  |
| ------------------------------------ | --------------------------------------------------------------------- |
-| `d s <existing char>`                | 기존 서라운드 삭제                                              |
+| `d s <existing char>`                | 기존 서라운드 삭제                                                    |
| `c s <existing char> <desired char>` | Change surround existing to desired                                   |
| `y s <motion> <desired char>`        | Surround something with something using motion (as in "you surround") |
| `S <desired char>`                   | Surround when in visual modes (surrounds full selection)              |

몇가지 예:

-- ` 'test'`로 끝나기 위해 인용 부호 안에 cs를 입력 한`'test'`
-- `test``로 끝나는 인용 부호 ds 안에 커서가있는 "test"`
+- `'test'`로 끝나기 위해 인용 부호 안에 cs를 입력 한`'test'`
+- ` test``로 끝나는 인용 부호 ds 안에 커서가있는 "test" `
- `"test"` with cursor inside quotes type cs"t and enter 123> to end up with `<123>test</123>`
- 단어 테스트 유형 ysaw에 커서가있는`test`는`(test)`로 끝납니다.

@@ -480,11 +480,12 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하
- `gC`-블록 주석 토글. 예를 들어`gCi)`는 괄호 안의 모든 것을 주석 처리합니다.

### vim-indent-object
+
[vim-indent-object](https://github.com/michaeljsmith/vim-indent-object)를 기반으로하여 현재 들여 쓰기 수준의 코드 블록을 텍스트 객체로 처리 할 수 있습니다. 문장 주위에 중괄호를 사용하지 않는 언어 (예 : Python)에서 유용합니다.

여는 중괄호 / 태그 사이에 새로운 줄이 있다면, 그것은 무시할 수있는`cib` /`ci {`/`ci [`/`cit`로 간주 될 수 있습니다.

-| 명령어        | 설명                                                                                          |
+| 명령어         | 설명                                                                                                 |
| -------------- | ---------------------------------------------------------------------------------------------------- |
| `<operator>ii` | This indentation level                                                                               |
| `<operator>ai` | This indentation level and the line above (think `if` statements in Python)                          |
@@ -494,14 +495,14 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

[vim-sneak](https://github.com/justinmk/vim-sneak)를 기반으로 두 문자로 지정된 위치로 이동할 수 있습니다.

-| 환경                            | 설명                                                 | 타입    | 기본 값 |
-| ---------------------------------- | ----------------------------------------------------------- | ------- | ------------- |
-| vim.sneak                          | Enable/disable vim-sneak                                    | Boolean | false         |
-| vim.sneakUseIgnorecaseAndSmartcase | Respect `vim.ignorecase` and `vim.smartcase` while sneaking | Boolean | false         |
+| 환경                               | 설명                                                        | 타입    | 기본 값 |
+| ---------------------------------- | ----------------------------------------------------------- | ------- | ------- |
+| vim.sneak                          | Enable/disable vim-sneak                                    | Boolean | false   |
+| vim.sneakUseIgnorecaseAndSmartcase | Respect `vim.ignorecase` and `vim.smartcase` while sneaking | Boolean | false   |

몰래 활성화되면 다음 명령을 사용하여 모션을 시작하십시오. 연산자 sneak은`s` 대신`z`를 사용합니다. `s`는 이미 서라운드 플러그인에 의해 사용되기 때문입니다.

-| Motion 명령            | 설명                                                             |
+| Motion 명령               | 설명                                                                    |
| ------------------------- | ----------------------------------------------------------------------- |
| `s<char><char>`           | Move forward to the first occurrence of `<char><char>`                  |
| `S<char><char>`           | Move backward to the first occurrence of `<char><char>`                 |
@@ -510,15 +511,15 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

### CamelCaseMotion

-정확한 에뮬레이션은 아니지만  [CamelCaseMotion](https://github.com/bkad/CamelCaseMotion)을 기반으로합니다. 이 플러그인은 camelCase 및 snake_case 단어를 쉽게 이동할 수있는 방법을 제공합니다.
+정확한 에뮬레이션은 아니지만 [CamelCaseMotion](https://github.com/bkad/CamelCaseMotion)을 기반으로합니다. 이 플러그인은 camelCase 및 snake_case 단어를 쉽게 이동할 수있는 방법을 제공합니다.

-| 환경                    | 설명                    | 타입    | 기본 값 |
-| -------------------------- | ------------------------------ | ------- | ------------- |
-| vim.camelCaseMotion.enable | Enable/disable CamelCaseMotion | Boolean | false         |
+| 환경                       | 설명                           | 타입    | 기본 값 |
+| -------------------------- | ------------------------------ | ------- | ------- |
+| vim.camelCaseMotion.enable | Enable/disable CamelCaseMotion | Boolean | false   |

CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.

-| Motion 명령어         | 설명                                                                |
+| Motion 명령어          | 설명                                                                       |
| ---------------------- | -------------------------------------------------------------------------- |
| `<leader>w`            | Move forward to the start of the next camelCase or snake_case word segment |
| `<leader>e`            | Move forward to the next end of a camelCase or snake_case word segment     |
@@ -531,7 +532,7 @@ CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.

삽입 모드를 종료 할 때 입력 방법을 비활성화하십시오.

-| 환경                                 | 설명                                                                                      |
+| 환경                                    | 설명                                                                                             |
| --------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `vim.autoSwitchInputMethod.enable`      | Boolean denoting whether autoSwitchInputMethod is on/off.                                        |
| `vim.autoSwitchInputMethod.defaultIM`   | Default input method.                                                                            |
@@ -541,68 +542,67 @@ CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.
모든 타사 프로그램을 사용하여 입력 방법을 전환 할 수 있습니다. 다음은 [im-select](https://github.com/daipeihust/im-select)를 사용하여 구성을 안내합니다..

1. im-select 설치하기 (참조 [installation guide](https://github.com/daipeihust/im-select#installation))
-1.  기본 입력 방법 키 찾기
+1. 기본 입력 방법 키 찾기

-    - Mac:
+   - Mac:

-      입력 방법을 영어로 전환하고 터미널에서 `/<path-to-im-select-installation>/im-select` 를 실행하여 기본 입력 방법을 출력하십시오. 아래 표에는 MacOS의 일반적인 영어 키 레이아웃이 나와 있습니다.
+     입력 방법을 영어로 전환하고 터미널에서 `/<path-to-im-select-installation>/im-select` 를 실행하여 기본 입력 방법을 출력하십시오. 아래 표에는 MacOS의 일반적인 영어 키 레이아웃이 나와 있습니다.

-      | Key                            | 설명 |
-      | ------------------------------ | ----------- |
-      | com.apple.keylayout.US         | U.S.        |
-      | com.apple.keylayout.ABC        | ABC         |
-      | com.apple.keylayout.British    | British     |
-      | com.apple.keylayout.Irish      | Irish       |
-      | com.apple.keylayout.Australian | Australian  |
-      | com.apple.keylayout.Dvorak     | Dvorak      |
-      | com.apple.keylayout.Colemak    | Colemak     |
+     | Key                            | 설명       |
+     | ------------------------------ | ---------- |
+     | com.apple.keylayout.US         | U.S.       |
+     | com.apple.keylayout.ABC        | ABC        |
+     | com.apple.keylayout.British    | British    |
+     | com.apple.keylayout.Irish      | Irish      |
+     | com.apple.keylayout.Australian | Australian |
+     | com.apple.keylayout.Dvorak     | Dvorak     |
+     | com.apple.keylayout.Colemak    | Colemak    |

-    - Windows:
+   - Windows:

-      입력 방법 키를 검색하는 방법은[im-select guide](https://github.com/daipeihust/im-select#to-get-current-keyboard-locale) 안내서를 참조하십시오.  일반적으로 키보드 레이아웃이 en_US 인 경우 입력 방법 키는 1033 (en_US의 로캘 ID)입니다. `LCID Decimal`열이 로컬 ID인 [이 페이지](https://www.science.co.il/language/Locale-codes.php)에서 로컬 ID를 찾을 수도 있습니다.
+     입력 방법 키를 검색하는 방법은[im-select guide](https://github.com/daipeihust/im-select#to-get-current-keyboard-locale) 안내서를 참조하십시오. 일반적으로 키보드 레이아웃이 en_US 인 경우 입력 방법 키는 1033 (en_US의 로캘 ID)입니다. `LCID Decimal`열이 로컬 ID인 [이 페이지](https://www.science.co.il/language/Locale-codes.php)에서 로컬 ID를 찾을 수도 있습니다.

-1.  Configure `vim.autoSwitchInputMethod`.
+1. Configure `vim.autoSwitchInputMethod`.

-    - MacOS:
+   - MacOS:

-       `com.apple.keylayout.US` 과 `im-select` 은  `/usr/local/bin`에 있다. 구성은 다음과 같다.:
+     `com.apple.keylayout.US` 과 `im-select` 은 `/usr/local/bin`에 있다. 구성은 다음과 같다.:

-      ```json
-      "vim.autoSwitchInputMethod.enable": true,
-      "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US",
-      "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
-      "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
-      ```
+     ```json
+     "vim.autoSwitchInputMethod.enable": true,
+     "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US",
+     "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
+     "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
+     ```

-    - Windows:
+   - Windows:

-       `1033`  (en_US)과 `im-select.exe` 의 입력 방법 키는`D:/bin`에 있습니다. 구성은 다음과 같습니다:
+     `1033` (en_US)과 `im-select.exe` 의 입력 방법 키는`D:/bin`에 있습니다. 구성은 다음과 같습니다:

-      ```json
-      "vim.autoSwitchInputMethod.enable": true,
-      "vim.autoSwitchInputMethod.defaultIM": "1033",
-      "vim.autoSwitchInputMethod.obtainIMCmd": "D:\\bin\\im-select.exe",
-      "vim.autoSwitchInputMethod.switchIMCmd": "D:\\bin\\im-select.exe {im}"
-      ```
+     ```json
+     "vim.autoSwitchInputMethod.enable": true,
+     "vim.autoSwitchInputMethod.defaultIM": "1033",
+     "vim.autoSwitchInputMethod.obtainIMCmd": "D:\\bin\\im-select.exe",
+     "vim.autoSwitchInputMethod.switchIMCmd": "D:\\bin\\im-select.exe {im}"
+     ```

위의`{im}`인수는 입력 방법을 나타내는 `im-select` 에 전달되는 명령 행 옵션입니다. 대체 프로그램을 사용하여 입력 방법을 전환하는 경우 유사한 옵션을 구성에 추가해야합니다. 예를 들어, 입력 방법을 전환하기 위해 프로그램의 사용법이`my-program -s imKey` 인 경우,`vim.autoSwitchInputMethod.switchIMCmd` 는 `/path/to/my-program -s {im}`이어야합니다.

-
### ReplaceWithRegister

- [ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister)를 기반으로 기존 텍스트를 레지스터의 내용으로 쉽게 바꿀 수 있습니다.
+[ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister)를 기반으로 기존 텍스트를 레지스터의 내용으로 쉽게 바꿀 수 있습니다.

-| 환경                 | 설명                        | 타입    | 기본 값 |
-| ----------------------- | ---------------------------------- | ------- | ------------- |
-| vim.replaceWithRegister | Enable/disable ReplaceWithRegister | Boolean | false         |
+| 환경                    | 설명                               | 타입    | 기본 값 |
+| ----------------------- | ---------------------------------- | ------- | ------- |
+| vim.replaceWithRegister | Enable/disable ReplaceWithRegister | Boolean | false   |

-활성화되면`gr`  (예 : "go replace")을 입력 한 다음 레지스터 내용으로 대체하려는 텍스트를 설명하는 동작을 입력하십시오.
+활성화되면`gr` (예 : "go replace")을 입력 한 다음 레지스터 내용으로 대체하려는 텍스트를 설명하는 동작을 입력하십시오.

-| Motion 명령어          | 설명                                                                             |
-| ----------------------- | --------------------------------------------------------------------------------------- |
-| `[count]["a]gr<motion>` |모션에 설명 된 텍스트를 지정된 레지스터의 내용으로 바꿉니다.   |
-| `[count]["a]grr`        |  \[count\] 줄 또는 현재 줄을 지정된 레지스터의 내용으로 바꿉니다.|
-| `{Visual}["a]gr`        | 선택한 레지스터를 지정된 레지스터의 내용으로 바꿉니다.       |
+| Motion 명령어           | 설명                                                             |
+| ----------------------- | ---------------------------------------------------------------- |
+| `[count]["a]gr<motion>` | 모션에 설명 된 텍스트를 지정된 레지스터의 내용으로 바꿉니다.     |
+| `[count]["a]grr`        | \[count\] 줄 또는 현재 줄을 지정된 레지스터의 내용으로 바꿉니다. |
+| `{Visual}["a]gr`        | 선택한 레지스터를 지정된 레지스터의 내용으로 바꿉니다.           |

## 🎩 VSCodeVim 트릭!

@@ -628,35 +628,35 @@ VSCode에는 멋진 트릭이 많이 있으며 그 중 일부를 보존하려고

  당신은 Mac유저 입니까? [mac-setup](#mac) 지침을 살펴 보셨습니까?

--  `<esc>`로 닫을 수없는 성가신 정보 / 알림 / 팝업이 있습니다! ! 그리고 나는 단편적인 지식 밖에 없어 좀 더 알고 싶습니다.
+- `<esc>`로 닫을 수없는 성가신 정보 / 알림 / 팝업이 있습니다! ! 그리고 나는 단편적인 지식 밖에 없어 좀 더 알고 싶습니다.

-  `shift+<esc>` 를 눌러 모든 상자를 닫으십���오.
+`shift+<esc>` 를 눌러 모든 상자를 닫으십시오.

- Zen 모드 또는 상태 표시 줄이 비활성화 된 경우 명령 줄을 사용하려면 어떻게해야합니까?

-   이 확장 기능은 재 맵핑 가능한 명령을 표시하여 vscode 스타일의 빠른 선택, 제한된 기능 버전의 명령 줄을 보여줍니다. VS 코드의 keybindings.json 설정 파일에서 다음과 같이 다시 매핑 할 수 있습니다.
+이 확장 기능은 재 맵핑 가능한 명령을 표시하여 vscode 스타일의 빠른 선택, 제한된 기능 버전의 명령 줄을 보여줍니다. VS 코드의 keybindings.json 설정 파일에서 다음과 같이 다시 매핑 할 수 있습니다.

-  ```json
-  {
-    "key": "shift+;",
-    "command": "vim.showQuickpickCmdLine",
-    "when": "editorTextFocus && vim.mode != 'Insert'"
-  }
-  ```
+```json
+{
+  "key": "shift+;",
+  "command": "vim.showQuickpickCmdLine",
+  "when": "editorTextFocus && vim.mode != 'Insert'"
+}
+```

-  Or for Zen mode only:
+Or for Zen mode only:

-  ```json
-  {
-    "key": "shift+;",
-    "command": "vim.showQuickpickCmdLine",
-    "when": "inZenMode && vim.mode != 'Insert'"
-  }
-  ```
+```json
+{
+  "key": "shift+;",
+  "command": "vim.showQuickpickCmdLine",
+  "when": "inZenMode && vim.mode != 'Insert'"
+}
+```

- 단어 줄 바꿈을 사용하여 각 표시 줄에서 커서를 어떻게 이동합니까?

-  단어 줄 바꿈이 있고<kbd>j</kbd>, <kbd>k</kbd>, <kbd>↓</kbd> 또는 <kbd>↑</kbd>를 사용할 때 커서가 줄 바꿈 된 각 줄에 들어가도록하려면  keybindings.json 설정 파일에서 다음을 설정하십시오.
+  단어 줄 바꿈이 있고<kbd>j</kbd>, <kbd>k</kbd>, <kbd>↓</kbd> 또는 <kbd>↑</kbd>를 사용할 때 커서가 줄 바꿈 된 각 줄에 들어가도록하려면 keybindings.json 설정 파일에서 다음을 설정하십시오.

  <!-- prettier-ignore -->
  ```json
diff --git a/Korea/STYLE.md b/Korea/STYLE.md
index 8e359a6..8ff950d 100644
--- a/Korea/STYLE.md
+++ b/Korea/STYLE.md
@@ -17,7 +17,7 @@
- `const`를 사용할 수 없다면, `let`을 사용하십시오; 절대 `var`은 안됩니다.

  **이론적 근거:** `var`은 많은 경우 프로그래머를 trips합니다 - hoisting and closure capture는 두 가지 큰 요소입니다.
-차이점을 고려하십시오.
+  차이점을 고려하십시오.

for (var j = 0; j < 5; j++) { setTimeout(() => console.log(j), 5) }
diff --git a/ROADMAP.md b/ROADMAP.md
index a7bb6ea..aaec352 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -18,24 +18,24 @@

이들은 Vim의 큰 기능으로, 일반적���로 구현할 순서대로되어 있습니다.

- Status Command
- 일반 모드
- 삽입 모드
- 비주얼 모드
- 비주얼 라인 모드
- 숫자 접두사
- . 연산자
- / 과 ? 로 검색
- 실행 취소 / 재실행
- ⚠️ 명령 재 매핑
- ⚠️ 마크
- 텍스트 객체
- 비주얼 블록 모드
- 교체 모드
- 다중 선택 모드
- ⚠️ 매크로
- ⚠️ Buffer/Window/Tab
+ Status Command
+ ------------------ ------------------
+ 일반 모드
+ 삽입 모드
+ 비주얼 모드
+ 비주얼 라인 모드
+ 숫자 접두사
+ . 연산자
+ / 과 ? 로 검색
+ 실행 취소 / 재실행
+ ⚠️ 명령 재 매핑
+ ⚠️ 마크
+ 텍스트 객체
+ 비주얼 블록 모드
+ 교체 모드
+ 다중 선택 모드
+ ⚠️ 매크로
+ ⚠️ Buffer/Window/Tab

이제 우리가 찾을 수있는 모든 알려진 Vim 명령의 전체 목록을 따릅니다.

@@ -46,193 +46,193 @@

좌우 동작

- Status Command Description
- 🔢 h 왼쪽 (또한 CTRL-H, BS 또는 왼쪽 키)
- 🔢 l 오른쪽 (또한 스페이스 또는 오른쪽 키)
- 0 줄의 첫 번째 문자 (또한 Home 키)
- ^ 행의 첫 번��� 공백이 아닌 문자
- 🔢 $ 줄의 마지막 문자 (N-1 줄 아래) (또한 End 키)
- g0 화면 줄의 첫 문자 (줄 바꿈시 "0"과 다름)
- g^ 화면 줄에서 공백이 아닌 첫 문자로 줄 바꾸기 (줄 바꿈시 "^"와 다름)
- 🔢 g$ 화면 줄의 마지막 문자 (줄 바꿈시 "\ $"와 다름)
- gm 화면 라인의 중간
- 🔢 | N 열까지 (기본값 : 1)
- 🔢 f{char} 오른쪽으로 {char}의 N 번째 발생
- 🔢 F{char} 왼쪽으로 {char}의 N 번째 발생
- 🔢 t{char} 오른쪽으로 {char}의 N 번째 발생 전까지
- 🔢 T{char} 왼쪽으로 {char}의 N 번째 발생 전까지
- 🔢 ; 마지막 "f", "F", "t"또는 "T"N 번 반복
- 🔢 , 반대 방향으로 마지막 "f", "F", "t"또는 "T"N 번 반복
+ Status Command Description
+ ------------------ -------------- ------------------------------------------------------------------
+ 🔢 h 왼쪽 (또한 CTRL-H, BS 또는 왼쪽 키)
+ 🔢 l 오른쪽 (또한 스페이스 또는 오른쪽 키)
+ 0 줄의 첫 번째 문자 (또한 Home 키)
+ ^ 행의 첫 번째 공백이 아닌 문자
+ 🔢 $ 줄의 마지막 문자 (N-1 줄 아래) (또한 End 키)
+ g0 화면 줄의 첫 문자 (줄 바꿈시 "0"과 다름)
+ g^ 화면 줄에서 공백이 아닌 첫 문자로 줄 바꾸기 (줄 바꿈시 "^"와 다름)
+ 🔢 g$ 화면 줄의 마지막 문자 (줄 바꿈시 "\ $"와 다름)
+ gm 화면 라인의 중간
+ 🔢 | N 열까지 (기본값 : 1)
+ 🔢 f{char} 오른쪽으로 {char}의 N 번째 발생
+ 🔢 F{char} 왼쪽으로 {char}의 N 번째 발생
+ 🔢 t{char} 오른쪽으로 {char}의 N 번째 발생 전까지
+ 🔢 T{char} 왼쪽으로 {char}의 N 번째 발생 전까지
+ 🔢 ; 마지막 "f", "F", "t"또는 "T"N 번 반복
+ 🔢 , 반대 방향으로 마지막 "f", "F", "t"또는 "T"N 번 반복

상하 동작

- Status Command Description
- 🔢 k N 줄 위로 (CTRL-P 및 Up)
- 🔢 j N 줄 아래로 (또한 CTRL-J, CTRL-N, NL 및 Down)
- 🔢 - 공백이 아닌 첫 번째 문자에서 N 줄 위로
- 🔢 + 공백이 아닌 첫 번째 문자에서 N 줄 아래로 (CTRL-M 및 CR)
- 🔢 _ 공백이 아닌 첫 번째 문자에서 N-1 줄 아래로
- 🔢 G 공백이 아닌 첫 번째 문자에서 goto 행 N (기본값 : 마지막 행)
- 🔢 gg 공백이 아닌 첫 번째 문자의 goto 행 N (기본값 : 첫 번째 행)
- 🔢 % 파일에서 N 줄 아래로 이동; N을 지정해야합니다. 그렇지 않으면 % 명령입니다.
- 🔢 gk N 화면 줄 위로 (줄 바꿈시 "k"와 다름)
- 🔢 gj N 화면 줄 아래로 (줄 바꿈시 "j"와 다름)
+ Status Command Description
+ ------------------ --------- --------------------------------------------------------------------------
+ 🔢 k N 줄 위로 (CTRL-P 및 Up)
+ 🔢 j N 줄 아래로 (또한 CTRL-J, CTRL-N, NL 및 Down)
+ 🔢 - 공백이 아닌 첫 번째 문자에서 N 줄 위로
+ 🔢 + 공백이 아닌 첫 번째 문자에서 N 줄 아래로 (CTRL-M 및 CR)
+ 🔢 _ 공백이 아닌 첫 번째 문자에서 N-1 줄 아래로
+ 🔢 G 공백이 아닌 첫 번째 문자에서 goto 행 N (기본값 : 마지막 행)
+ 🔢 gg 공백이 아닌 첫 번째 문자의 goto 행 N (기본값 : 첫 번째 행)
+ 🔢 % 파일에서 N 줄 아래로 이동; N을 지정해야합니다. 그렇지 않으면 % 명령입니다.
+ 🔢 gk N 화면 줄 위로 (줄 바꿈시 "k"와 다름)
+ 🔢 gj N 화면 줄 아래로 (줄 바꿈시 "j"와 다름)

텍스트 객체 동작

- Status Command Description
- 🔢 w 앞으로 N 단어
- 🔢 W 공백으로 분리 된 N 개의 단어 앞으로
- 🔢 e N 번째 단어의 끝까지 N 단어
- 🔢 E 공백으로 분리 된 N 번째 단어의 끝으로 N 단어 앞으로
- 🔢 b 뒤로 N 단어
- 🔢 B 공백으로 분리 된 N개의 단어 뒤로
- 🔢 ge N번째 단어의 끝까지 N단어
- 🔢 gE 공백으로 분리 된 N 번째 단어의 끝까지 N 단어
- 🔢 ) 앞으로 N 문장
- 🔢 ( 뒤로 N 문장
- 🔢 } 앞으로 N 단락
- 🔢 { 뒤로 N 단락
- 🔢 ]] 섹션 시작시 N 섹션 앞으로
- 🔢 [[ 섹션 시작시 뒤로 N 섹션
- 🔢 ][ 섹션 끝에서 N 섹션 앞으로
- 🔢 [] 섹션 끝에서 뒤로 N 섹션
- 🔢 [( 닫히지 않은 '('로 N 번
- 🔢 [{ 닫히지 않은 '{'로 N 번
- ⬇️ 🔢 [m 메소드 시작으로 다시 N 번 (Java의 경우)
- ⬇️ 🔢 [M 메소드의 끝까지 N 번 (Java의 경우)
- 🔢 ]) 닫히지 않은 ')'까지 N 번 전달
- 🔢 ]} 닫히지 않은 '}'까지 N 번 전달
- ⬇️ 🔢 ]m 메소드 시작까지 N 배 앞으로 (Java의 경우)
- ⬇️ 🔢 ]M 메소드의 끝까지 N 배 앞으로 (Java의 경우)
- ⬇️ 🔢 [# 닫히지 않은 "#if"또는 "#else"로 다시 N 번
- ⬇️ 🔢 ]# 닫히지 않은 "#else"또는 "#endif"로 N 번 전달
- ⬇️ 🔢 [* C 주석 "/ *"의 시작으로 다시 N 번
- ⬇️ 🔢 ]* C 주석 "* /"의 끝까지 N 배 앞으로
+ Status Command Description
+ ------------------ ---------- ---------------------------------------------------
+ 🔢 w 앞으로 N 단어
+ 🔢 W 공백으로 분리 된 N 개의 단어 앞으로
+ 🔢 e N 번째 단어의 끝까지 N 단어
+ 🔢 E 공백으로 분리 된 N 번째 단어의 끝으로 N 단어 앞으로
+ 🔢 b 뒤로 N 단어
+ 🔢 B 공백으로 분리 된 N개의 단어 뒤로
+ 🔢 ge N번째 단어의 끝까지 N단어
+ 🔢 gE 공백으로 분리 된 N 번째 단어의 끝까지 N 단어
+ 🔢 ) 앞으로 N 문장
+ 🔢 ( 뒤로 N 문장
+ 🔢 } 앞으로 N 단락
+ 🔢 { 뒤로 N 단락
+ 🔢 ]] 섹션 시작시 N 섹션 앞으로
+ 🔢 [[ 섹션 시작시 뒤로 N 섹션
+ 🔢 ][ 섹션 끝에서 N 섹션 앞으로
+ 🔢 [] 섹션 끝에서 뒤로 N 섹션
+ 🔢 [( 닫히지 않은 '('로 N 번
+ 🔢 [{ 닫히지 않은 '{'로 N 번
+ ⬇️ 🔢 [m 메소드 시작으로 다시 N 번 (Java의 경우)
+ ⬇️ 🔢 [M 메소드의 끝까지 N 번 (Java의 경우)
+ 🔢 ]) 닫히지 않은 ')'까지 N 번 전달
+ 🔢 ]} 닫히지 않은 '}'까지 N 번 전달
+ ⬇️ 🔢 ]m 메소드 시작까지 N 배 앞으로 (Java의 경우)
+ ⬇️ 🔢 ]M 메소드의 끝까지 N 배 앞으로 (Java의 경우)
+ ⬇️ 🔢 [# 닫히지 않은 "#if"또는 "#else"로 다시 N 번
+ ⬇️ 🔢 ]# 닫히지 않은 "#else"또는 "#endif"로 N 번 전달
+ ⬇️ 🔢 [* C 주석 "/ *"의 시작으로 다시 N 번
+ ⬇️ 🔢 ]* C 주석 "* /"의 끝까지 N 배 앞으로

패턴 검색

- Status Command Description Note
- ✅ ⭐ 🔢 /{pattern}[/[offset]]<CR> {pattern}의 N 번째 발생을 검색 현재는 JavaScript 정규식 만 지원하지만 Vim의 사내 정규식 엔진은 지원하지 않습니다.
- ✅ ⭐ 🔢 ?{pattern}[?[offset]]<CR> {pattern}의 N 번째 발생을 뒤로 검색 현재는 JavaScript 정규식 만 지원하지만 Vim의 사내 정규식 엔진은 지원하지 않습니다.
- ⚠️ 🔢 /<CR> 정방향으로 마지막 검색 반복 {count}는 지원되지 않습니다.
- ⚠️ 🔢 ?<CR> 역방향으로 마지막 검색 반복 {count}는 지원되지 않습니다.
- 🔢 n 마지막 검색 반복
- 🔢 N 반대 방향으로 마지막 검색 반복
- 🔢 * 커서 아래에서 식별자를 검색
- 🔢 # 커서 아래에서 식별자를 뒤로 검색
- 🔢 g* "*"와 비슷하지만 부분 일치도 찾습니다
- 🔢 g# "#"과 같지만 부분 일치 항목도 찾습니다.
- gd 커서 아래 식별자의 로컬 선언으로 이동
- ⬇️ gD 커서 아래에 식별자의 goto 글로벌 선언

-## 마크와

- Status Command Description
- m{a-zA-Z} {a-zA-Z} 표시로 현재 위치 표시
- `{a-z} 현재 파일에서 {a-z}로 이동
- `{A-Z} 모든 파일에서 {A-Z}로 이동
- `{0-9} Vim이 이전에 나간 위치로 이동
- `` 마지막 점프 전 위치로 이동
- ⬇️ `" 이 파일을 마지막으로 편집 할 때 위치로 이동
- `[ 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- '[ 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- `] 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- '] 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- ⬇️ `< (이전) 시각 영역의 시작으로 이동
- ⬇️ `> (이전) 시각 영역의 끝으로 이동
- `. 이 파일에서 마지막 변경 위치로 이동
- '. 이 파일에서 마지막 변경 위치로 이동
- ⬇️ '{a-zA-Z0-9[]'"<>.} `와 동일하지만 첫 번째 공백이 아닌 행
- ⬇️ :marks 활성마크를 인쇄
- 🔢 CTRL-O 점프 목록에서 N 번째 이전 위치로 이동
- 🔢 CTRL-I 점프 목록에서 N 번쨰 새로운 위치로 이동
- ⬇️ :ju[mps] 점프리스트를 인쇄
+ Status Command Description
+ ------------------------- ---------------------------------- ---------------------------------------
+ ✅ ⭐ 🔢 /{pattern}[/[offset]]<CR> {pattern}의 N 번째 발생을 검색
+ ✅ ⭐ 🔢 ?{pattern}[?[offset]]<CR> {pattern}의 N 번째 발생을 뒤로 검색
+ ⚠️ 🔢 /<CR> 정방향으로 마지막 검색 반복
+ ⚠️ 🔢 ?<CR> 역방향으로 마지막 검색 반복
+ 🔢 n 마지막 검색 반복
+ 🔢 N 반대 방향으로 마지막 검색 반복
+ 🔢 * 커서 아래에서 식별자를 검색
+ 🔢 # 커서 아래에서 식별자를 뒤로 검색
+ 🔢 g* "*"와 비슷하지만 부분 일치도 찾습니다
+ 🔢 g# "#"과 같지만 부분 일치 항목도 찾습니다.
+ gd 커서 아래 식별자의 로컬 선언으로 이동
+ ⬇️ gD 커서 아래에 식별자의 goto 글로벌 선언

+## 마크와
+
+| Status | Command | Description |
+| ------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------- |
+| ✅ | m{a-zA-Z} | {a-zA-Z} 표시로 현재 위치 표시 |
+| ✅ | {a-z} | 현재 파일에서 {a-z}로 이동 | +| :white_check_mark: | {A-Z} | 모든 파일에서 {A-Z}로 이동 |
+| ✅ | {0-9} | Vim이 이전에 나간 위치로 이동 | +| :white_check_mark: | `` | 마지막 점프 전 위치로 이동 | +| :arrow_down: | " | 이 파일을 마지막으로 편집 할 때 위치로 이동 |
+| ✅ | [ | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 | +| :white_check_mark: | '[ | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 | +| :white_check_mark: | ] | 이전에 운영 한 텍스트��� 시작으로 이동하거나 텍스트를 넣습니다 |
+| ✅ | '] | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 |
+| ⬇️ | < | (이전) 시각 영역의 시작으로 이동 | +| :arrow_down: | > | (이전) 시각 영역의 끝으로 이동 |
+| ✅ | . | 이 파일에서 마지막 변경 위치로 이동 | +| :white_check_mark: | '. | 이 파일에서 마지막 변경 위치로 이동 | +| :arrow_down: | '{a-zA-Z0-9[]'"<>.} | 와 동일하지만 첫 번째 공백이 아닌 행 |
+| ⬇️ | :marks | 활성마크를 인쇄 |
+| ✅ | 🔢 CTRL-O | 점프 목록에서 N 번째 이전 위치로 이동 |
+| ✅ | 🔢 CTRL-I | 점프 목록에서 N 번쨰 새로운 위치로 이동 |
+| ⬇️ | :ju[mps] | 점프리스트를 인쇄 |

다양한 동작

- Status Command Description
- % 이 줄에서 다음 중괄호, 대괄호, 주석 또는 "#if"/ "#else"/ "# endif"를 찾아서 해당 행으로 이동하십시오.
+ Status Command Description
+ ------------------ ------------------- -----------------------------------------------------------------------------------------------------
+ % 이 줄에서 다음 중괄호, 대괄호, 주석 또는 "#if"/ "#else"/ "# endif"를 찾아서 해당 행으로 이동하십시오.
🔢 H 공백이 아닌 첫 번째 창에서 N 번째 줄로 이동
M 공백이 아닌 첫 번째 창에서 가운데 줄로 이동
🔢 L 첫 번째 공백이 아닌 바닥에서 N 번째 줄로 이동
- ⬇️ 🔢 go 버퍼의 N 번째 바이트로 이동
- ⬇️ :[range]go[to][off] 버퍼의 [off] 바이트로 이동
+ ⬇️ 🔢 go 버퍼의 N 번째 바이트로 이동
+ ⬇️ :[range]go[to][off] 버퍼의 [off] 바이트로 이동

태그 사용

VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순위가 낮습니다. 아직 명령 팔레트에서 사용해보십시오!

- Status Command Description
- ⬇️ :ta[g][!] {tag} 태그 {tag}로 이동
- ⬇️ :[count]ta[g][!] 태그 목록에서 [count] '번째 최신 태그로 이동
- ⬇️ CTRL-] 변경 사항이 없으면 커서 아래의 태그로 이동
- ⬇️ :ts[elect][!] [tag] 일치하는 태그를 나열하고 이동할 태그를 선택하십시오.
- ⬇️ :tj[ump][!] [tag] 일치하는 태그가 여러 개인 경우 [tag] 태그로 이동하거나 목록에서 선택하십시오.
- ⬇️ :lt[ag][!] [tag] [tag] 태그로 이동하여 위치 목록에 일치하는 태그 추가 인쇄 태그 목록
- ⬇️ :tagsa 인쇄 태그 목록
- ⬇️ 🔢 CTRL-T 태그 목록에서 N 번째 오래된 태그에서 뒤로 이동
- ⬇️ :[count]po[p][!] 태그 목록에서 [count] 번째 오래된 태그에서 뒤로 이동
- ⬇️ :[count]tn[ext][!] 다음으로 일치하는 [count] 번째 태그로 이동
- ⬇️ :[count]tp[revious][!] 이전 일치하는 [count] 번째 태그로 이동
- ⬇️ :[count]tr[ewind][!] 일치하는 [count] 번째 태그로 이동
- ⬇️ :tl[ast][!] 마지막으로 일치하는 태그로 이동
- ⬇️ :pt[ag] {tag} {tag} 태그를 표시하기 위해 미리보기 창을 엽니 다.
- ⬇️ CTRL-W } CTRL-]와 유사하지만 미리보기 창에 태그 표시
- ⬇️ :pts[elect] ": tselect"와 같지만 미리보기 창에 태그 표시
- ⬇️ :ptj[ump] ": tjump"와 같지만 미리보기 창에 태그 표시
- ⬇️ :pc[lose] 태그 미리보기 창 닫기
- ⬇️ CTRL-W z 태그 미리보기 창 닫기`
+ Status Command Description
+ ------------ ---------------------- -----------------------------------------------------------------------------
+ ⬇️ :ta[g][!] {tag} 태그 {tag}로 이동
+ ⬇️ :[count]ta[g][!] 태그 목록에서 [count] '번째 최신 태그로 이동
+ ⬇️ CTRL-] 변경 사항이 없으면 커서 아래의 태그로 이동
+ ⬇️ :ts[elect][!] [tag] 일치하는 태그를 나열하고 이동할 태그를 선택하십시오.
+ ⬇️ :tj[ump][!] [tag] 일치하는 태그가 여러 개인 경우 [tag] 태그로 이동하거나 목록에서 선택하십시오.
+ ⬇️ :lt[ag][!] [tag] [tag] 태그로 이동하여 위치 목록에 일치하는 태그 추가 인쇄 태그 목록
+ ⬇️ :tagsa 인쇄 태그 목록
+ ⬇️ 🔢 CTRL-T 태그 목록에서 N 번째 오래된 태그에서 뒤로 이동
+ ⬇️ :[count]po[p][!] 태그 목록에서 [count] 번째 오래된 태그에서 뒤로 이동
+ ⬇️ :[count]tn[ext][!] 다음으로 일치하는 [count] 번째 태그로 이동
+ ⬇️ :[count]tp[revious][!] 이전 일치하는 [count] 번째 태그로 이동
+ ⬇️ :[count]tr[ewind][!] 일치하는 [count] 번째 태그로 이동
+ ⬇️ :tl[ast][!] 마지막으로 일치하는 태그로 이동
+ ⬇️ :pt[ag] {tag} {tag} 태그를 표시하기 위해 미리보기 창을 엽니 다.
+ ⬇️ CTRL-W } CTRL-]와 유사하지만 미리보기 창에 태그 표시
+ ⬇️ :pts[elect] ": tselect"와 같지만 미리보기 창에 태��� 표시
+ ⬇️ :ptj[ump] ": tjump"와 같지만 미리보기 창에 태그 표시
+ ⬇️ :pc[lose] 태그 미리보기 창 닫기
+ ⬇️ CTRL-W z 태그 미리보기 창 닫기`

스크롤

- Status Command Description
- 🔢 CTRL-E window N 줄 아래로 내려갑니다 (기본값: 1)
+ Status Command Description
+ ------------------ ------------- -------------------------------------------------
+ 🔢 CTRL-E window N 줄 아래로 내려갑니다 (기본값: 1)
🔢 CTRL-D window N 줄 아래로 내려갑니다(기본값: 1/2 window)
- 🔢 CTRL-F window N 페이지 앞으로 (아래로)
- 🔢 CTRL-Y window N 줄 위쪽을 향합니다 (기본값: 1)
- 🔢 CTRL-U window N 줄 위쪽을 향합니다 (기본값: 1/2 window)
- 🔢 CTRL-B window N 페이지 뒤로 (위로)
- z CR or zt window 맨 위에있는 현재 행 다시 그리기
- z. or zz window 가운데에 현재 행 다시 그리기
- z- or zb window 맨 아래에 현재 행 다시 그리기
+ 🔢 CTRL-F window N 페이지 앞으로 (아래로)
+ 🔢 CTRL-Y window N 줄 위쪽을 향합니다 (기본값: 1)
+ 🔢 CTRL-U window N 줄 위쪽을 향합니다 (기본값: 1/2 window)
+ 🔢 CTRL-B window N 페이지 뒤로 (위로)
+ z CR or zt window 맨 위에있는 현재 행 다시 그리기
+ z. or zz window 가운데에 현재 행 다시 그리기
+ z- or zb window 맨 아래에 현재 행 다시 그리기

'wrap'이 꺼져있을 때만 작동합니다.

- Status Command Description Note
- ✅ ⭐ 🔢 zh 화면 N 문자를 오른쪽으로 스크롤 코드에서 가로 스크롤 막대의 이동 여부에 관계없이이 명령을 실행할 때 커서는 항상 이동합니다.
- ✅ ⭐ 🔢 zl 화면 N 문자를 왼쪽으로 스크롤 위와 같음
- ✅ ⭐ 🔢 zH 화면 너비를 화면 너비의 오른쪽으로 스크롤 위와 같음
- ✅ ⭐ 🔢 zL 화면 너비를 화면 너비의 왼쪽으로 스크롤 위와 같음
+ Status Command Description Note
+ ------------------------- --------- ----------------------------------------- -------------------------------------------------------------------------------------------
+ ✅ ⭐ 🔢 zh 화면 N 문자를 오른쪽으로 스크롤 코드에서 가로 스크롤 막대의 이동 여부에 관계없이이 명령을 실행할 때 커서는 항상 이동합니다.
+ ✅ ⭐ 🔢 zl 화면 N 문자를 왼쪽으로 스크롤 위와 같음
+ ✅ ⭐ 🔢 zH 화면 너비를 화면 너비의 오른쪽으로 스크롤 위와 같음
+ ✅ ⭐ 🔢 zL 화면 너비를 화면 너비의 왼쪽으로 스크롤 위와 같음

텍스트 삽입

- Status Command Description
- 🔢 a 커서 다음에 텍스트 추가 (N 회)
- 🔢 A 줄의 끝에 텍스트를 추가하십시오 (N 번)
- 🔢 i 커서 앞에 텍스트 삽입 (N 번) (또한 삽입)
- 🔢 I 첫 번째 공백이 아닌 줄 앞에 텍스트를 삽입하십시오 (N 번)
- 🔢 gI 1 열에 텍스트 삽입 (N 회)
- gi 마지막 변경이 끝��� 때 삽입
- 🔢 o 현재 줄 아래에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
- 🔢 O 현재 줄 위에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
+ Status Command Description
+ ------------------ --------- --------------------------------------------------------
+ 🔢 a 커서 다음에 텍스트 추가 (N 회)
+ 🔢 A 줄의 끝에 텍스트를 추가하십시오 (N 번)
+ 🔢 i 커서 앞에 텍스트 삽입 (N 번) (또한 삽입)
+ 🔢 I 첫 번째 공백이 아닌 줄 앞에 텍스트를 삽입하십시오 (N 번)
+ 🔢 gI 1 열에 텍스트 삽입 (N 회)
+ gi 마지막 변경이 끝날 때 삽입
+ 🔢 o 현재 줄 아래에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
+ 🔢 O 현재 줄 위에 새 줄을 열고 텍스트를 추가하십시오 (N 번)

비주얼 블록 모드에서:

- Status Command Description
- I 선택한 모든 줄 앞에 같은 텍스트를 삽입
- A 선택한 모든 줄 다음에 같은 텍스트를 추가하십시오
+ Status Command Description
+ ------------------ ------- ------------------------------------------------
+ I 선택한 모든 줄 앞에 같은 텍스트를 삽입
+ A 선택한 모든 줄 다음에 같은 텍스트를 추가하십시오

모드 키 삽입

@@ -240,73 +240,73 @@ VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순

Status Command Description
- Esc
- CTRL-C
- CTRL-O {command}
+ Esc
+ CTRL-C
+ CTRL-O {command}

이동:

- Status Command Description
- cursor keys 커서를 왼쪽/오른쪽/위/아래로 이동
- shift-left/right 한 단어 왼쪽/오른쪽
- shift-up/down 한 화면 뒤로/앞으로
- End 줄의 마지막 문자 다음에 커서
- Home 줄의 첫 문자에 커서
+ Status Command Description
+ ------------------ ---------------- ---------------------------------
+ cursor keys 커서를 왼쪽/오른쪽/위/아래로 이동
+ shift-left/right 한 단어 왼쪽/오른쪽
+ shift-up/down 한 화면 뒤로/앞으로
+ End 줄의 마지막 문자 다음에 커서
+ Home 줄의 첫 문자에 커서

삽입 모드의 특수 키

- Status Command Description Note
- ⬇️ CTRL-V {char}.. 문자를 문자 그대로 삽입하거나 10 진수 바이트 값을 입력하십시오.
- ⚠️ NL or CR or CTRL-M or CTRL-J 새 줄을 시작하다 CTRL-M 및 CTRL-J는 지원되지 않습니다
- CTRL-E 커서 아래에서 문자를 삽입
- CTRL-Y 커서 위에서 문자를 삽입
- ✅ ⭐ CTRL-A 이전에 삽입 한 텍스트 삽입 이전 삽입 세션에서 작성된 이전 문서 변경 사항을 적용하고 커서 아래에서 발생하는 변경 사항 만 적용합니다
- ✅ ⭐ CTRL-@ 이전에 삽입 한 텍스트 삽입 및 삽입 모드 중지 위와 같음
- CTRL-R {0-9a-z%#:.-="} 레지스터의 내용을 삽입
- CTRL-N 커서 앞에 식별자의 다음 일치를 삽입
- CTRL-P 커서 앞에 식별자의 이전 일치를 삽입
- ⬇️ CTRL-X ... 다양한 방법으로 커서 앞에있는 단어를 완성하십시오
- BS or CTRL-H 커서 앞의 문자를 삭제
- Del 커서 아래의 문자를 삭제
- CTRL-W 커서 앞의 단어를 삭제
- CTRL-U 현재 줄에 입력한 모든 문자를 삭제
- CTRL-T 현재 줄 앞에 한 개의 들여 쓰기 폭을 삽입
- CTRL-D 현재 줄 앞에 들여 쓰기 한 이동 폭 삭제
- ⬇️ 0 CTRL-D 현재 줄의 들여 쓰기를 모두 삭제하십시오.
- ⬇️ ^ CTRL-D 현재 줄에서 들여 쓰기를 모두 삭제하고 다음 줄 들여 쓰기를 복원
+ Status Command Description Note
+ ------------------------- ---------------------------- --------------------------------------------------------------- -------------------------------------------------------------------------------------------------------
+ ⬇️ CTRL-V {char}.. 문자를 문자 그대로 삽입하거나 10 진수 바이트 값을 입력하십시오.
+ ⚠️ NL or CR or CTRL-M or CTRL-J 새 줄을 시작하다 CTRL-M 및 CTRL-J는 지원되지 않습니다
+ CTRL-E 커서 아래에서 문자를 삽입
+ CTRL-Y 커서 위에서 문자를 삽입
+ ✅ ⭐ CTRL-A 이전에 삽입 한 텍스트 삽입 이전 삽입 세션에서 작성된 이전 문서 변경 사항을 적용하고 커서 아래에서 발생하는 변경 사항 만 적용합니다
+ ✅ ⭐ CTRL-@ 이전에 삽입 한 텍스트 삽입 및 삽입 모드 중지 위와 같음
+ CTRL-R {0-9a-z%#:.-="} 레지스터의 내용을 삽입
+ CTRL-N 커서 앞에 식별자의 다음 일치를 삽입
+ CTRL-P 커서 앞에 식별자의 이전 일치를 삽입
+ ⬇️ CTRL-X ... 다양한 방법으로 커서 앞에있는 단어를 완성하십시오
+ BS or CTRL-H 커서 앞의 문자를 삭제
+ Del 커서 아���의 문자를 삭제
+ CTRL-W 커서 앞의 단어를 삭제
+ CTRL-U 현재 줄에 입력한 모든 문자를 삭제
+ CTRL-T 현재 줄 앞에 한 개의 들여 쓰기 폭을 삽입
+ CTRL-D 현재 줄 앞에 들여 쓰기 한 이동 폭 삭제
+ ⬇️ 0 CTRL-D 현재 줄의 들여 쓰기를 모두 삭제하십시오.
+ ⬇️ ^ CTRL-D 현재 줄에서 들여 쓰기를 모두 삭제하고 다음 줄 들여 쓰기를 복원

Di그래프

- Status Command Description
- :dig[raphs] di그래프의 현재 목록 표시
- ⬇️ :dig[raphs] {char1}{char2} {number} ... 목록에 digraph(s) 추가
+ Status Command Description
+ ------------------ --------------------------------------- -------------------------
+ :dig[raphs] di그래프의 현재 목록 표시
+ ⬇️ :dig[raphs] {char1}{char2} {number} ... 목록에 digraph(s) 추가

Special inserts

- Status Command Description
- ⚠️ :r [file] 커서 아래에 [file]의 내용을 삽입하십시오.
- ⚠️ :r! {command} 커서 아래에 {command}의 표준 출력을 삽입하십시오.
+ Status Command Description
+ --------- ------------- -------------------------------------------------
+ ⚠️ :r [file] 커서 아래에 [file]의 내용을 삽입하십시오.
+ ⚠️ :r! {command} 커서 아래에 {command}의 표준 출력을 삽입하십시오.

텍스트 삭제

- Status Command Description
- 🔢 x 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
- 🔢 Del 커서 아��� 및 뒤에 N 문자를 삭제 하십시오.
- 🔢 X 커서 앞의 N 문자를 삭제 하십시오.
- 🔢 d{motion} {motion}으로 이동한 텍스트를 삭제하십시오.
- {visual}d 강조 표시된 텍스트를 삭제
- 🔢 dd N 줄을 삭제
- 🔢 D 줄 끝까지 삭제 (및 N-1 줄 더)
- 🔢 J N-1 라인 가입 (EOL 삭제)
- {visual}J 강조 표시된 라인에 참여
- 🔢 gJ "J"와 같지만 공백을 삽입하지 않음
- {visual}gJ "{visual} J"와 같지만 공백을 삽입하지 않음
- :[range]d [x] [범위] 줄 삭제 [등록 x]
+ Status Command Description
+ ------------------ ---------------- ------------------------------------------
+ 🔢 x 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
+ 🔢 Del 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
+ 🔢 X 커서 앞의 N 문자를 삭제 하십시오.
+ 🔢 d{motion} {motion}으로 이동한 텍스트를 삭제하십시오.
+ {visual}d 강조 표시된 텍스트를 삭제
+ 🔢 dd N 줄을 삭제
+ 🔢 D 줄 끝까지 삭제 (및 N-1 줄 더)
+ 🔢 J N-1 라인 가입 (EOL 삭제)
+ {visual}J 강조 표시된 라인에 참여
+ 🔢 gJ "J"와 같지만 공백을 삽입하지 않음
+ {visual}gJ "{visual} J"와 같지만 공백을 삽입하지 않음
+ :[range]d [x] [범위] 줄 삭제 [등록 x]

텍스트 복사 및 이동

@@ -329,224 +329,224 @@ VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순

텍스트 변경

- Status Command Description Note
- 🔢 r{char} N 문자를 {char}로 바꾸십시오
- ⬇️ 🔢 gr{char} 레이아웃에 영향을주지 않고 N 문자를 교체
- ✅ ⭐ 🔢 R 바꾸기 모드로 들어가십시오 (입력 한 텍스트를 N 번 반복하십시오) {count} is not supported
- ⬇️ 🔢 gR 가상 교체 모드로 전환 : 대체 모드와 유사하지만 레이아웃에 영향을 미치지 않음
- {visual}r{char} 비주얼 블록, 비주얼 또는 비주얼 라인 모드에서 : 선택한 텍스트의 각 문자를 {char}로 바꿉니다.
+ Status Command Description Note
+ ------------------------- --------------- -------------------------------------------------------------------------------------------- ------------------------
+ 🔢 r{char} N 문자를 {char}로 바꾸십시오
+ ⬇️ 🔢 gr{char} 레이아웃에 영향을주지 않고 N 문자를 교체
+ ✅ ⭐ 🔢 R 바꾸기 모드로 들어가십시오 (입력 한 텍스트를 N 번 반복하십시오) {count} is not supported
+ ⬇️ 🔢 gR 가상 교체 모드로 전환 : 대체 모드와 유사하지만 레이아웃에 영향을 미치지 않음
+ {visual}r{char} 비주얼 블록, 비주얼 또는 비주얼 라인 모드에서 : 선택한 텍스트의 각 문자를 {char}로 바꿉니다.

(변경 = 텍스트 삭제 및 삽입 모드 입력)

- Status Command Description
- 🔢 c{motion} {motion}으로 이동 한 텍스트를 변경하십시오.
- {visual}c 강조 표시된 텍스트를 변경
- 🔢 cc N줄 바꾸기
- 🔢 S N줄 바꾸기
- 🔢 C 줄의 끝으로 변경 (및 N-1 더 많은 줄)
- 🔢 s N 문자를 바꾸다
- {visual}c 비주얼 블록 모드에서 : 입력 한 텍스트로 선택한 각 줄을 변경합니다
- {visual}C 비주얼 블록 모드에서 : 입력 한 텍스트로 줄 끝까지 선택된 각 줄을 변경합니다.
- {visual}~ 강조 표시된 텍스트의 경우 전환
- {visual}u 강조 표시된 텍스트를 소문자로 설정
- {visual}U 강조 표시된 텍스트를 대문자로 만듭니다.
- g~{motion} {motion}으로 이동 한 텍스트의 대소 문자 전환
- gu{motion} {motion}으로 옮긴 텍스트를 소문자로 만듭니다.
- gU{motion} {motion}으로 이동 한 텍스트를 대문자로 만듭니다.
- ⬇️ {visual}g? 강조 표시된 텍스트에서 rot13 인코딩 수행
- ⬇️ g?{motion} {motion}으로 이동 한 텍스트에서 rot13 인코딩 수행
- 🔢 CTRL-A 커서 위 또는 뒤에있는 숫자에 N을 더하다
- 🔢 CTRL-X 커서에서 또는 뒤에있는 숫자에서 N을 빼기
- 🔢 <{motion} {motion}으로 이동 한 줄을 한 이동 폭 왼쪽으로 이동
- 🔢 << N 라인을 한 이동 폭만큼 왼쪽으로 이동
- 🔢 >{motion} {motion}으로 이동 한 선을 한 이동 폭만큼 오른쪽으로 이동
- 🔢 >> N 라인을 한 이동 폭만큼 오른쪽으로 이동
- 🔢 gq{motion} {motion}으로 이동 한 행을 'textwidth'길이로 형식화
- ⬇️ :[range]ce[nter][width] [range]에서 선 중심
- ⬇️ :[range]le[ft][indent] [range]에서 줄을 왼쪽 정렬합니다 ([indent] 포함)
- ⬇️ :[ranee]ri[ght][width] [range]에서 선을 오른쪽 정렬합니다
+ Status Command Description
+ ------------------ ----------------------- ----------------------------------------------------------------------------
+ 🔢 c{motion} {motion}으로 이동 한 텍스트를 변경하십시오.
+ {visual}c 강조 표시된 텍스트를 변경
+ 🔢 cc N줄 바꾸기
+ 🔢 S N줄 바꾸기
+ 🔢 C 줄의 끝으로 변경 (및 N-1 더 많은 줄)
+ 🔢 s N 문자를 바꾸다
+ {visual}c 비주얼 블록 모드에서 : 입력 한 텍스트로 선택한 각 줄을 변경합니다
+ {visual}C 비주얼 블록 모드에서 : 입력 한 텍스트로 줄 끝까지 선택된 각 줄을 변경합니다.
+ {visual}~ 강조 표시된 텍스트의 경우 전환
+ {visual}u 강조 표시된 텍스트를 소문자로 설정
+ {visual}U 강조 표시된 텍스트를 대문자로 만듭니다.
+ g~{motion} {motion}으로 이동 한 텍스트의 대소 문자 전환
+ gu{motion} {motion}으로 옮긴 텍스트를 소문자로 만듭니다.
+ gU{motion} {motion}으로 이동 한 텍스트를 대문자로 만듭니다.
+ ⬇️ {visual}g? 강조 표시된 텍���트에서 rot13 인코딩 수행
+ ⬇️ g?{motion} {motion}으로 이동 한 텍스트에서 rot13 인코딩 수행
+ 🔢 CTRL-A 커서 위 또는 뒤에있는 숫자에 N을 더하다
+ 🔢 CTRL-X 커서에서 또는 뒤에있는 숫자에서 N을 빼기
+ 🔢 <{motion} {motion}으로 이동 한 줄을 한 이동 폭 왼쪽으로 이동
+ 🔢 << N 라인을 한 이동 폭만큼 왼쪽으로 이동
+ 🔢 >{motion} {motion}으로 이동 한 선을 한 이동 폭만큼 오른쪽으로 이동
+ 🔢 >> N 라인을 한 이동 폭만큼 오른쪽으로 이동
+ 🔢 gq{motion} {motion}으로 이동 한 행을 'textwidth'길이로 형식화
+ ⬇️ :[range]ce[nter][width] [range]에서 선 중심
+ ⬇️ :[range]le[ft][indent] [range]에서 줄을 왼쪽 정렬합니다 ([indent] 포함)
+ ⬇️ :[ranee]ri[ght][width] [range]에서 선을 오른쪽 정렬합니다

복잡한 변화

- Status Command Description Note
- ⬇️ 🔢 !{motion}{command}<CR> {command}를 통해 이동 한 행을 필터링
- ⬇️ 🔢 !!{command}<CR> {command}를 통해 N 라인 필터링
- ⬇️ {visual}!{command}<CR> {command}를 통해 강조 표시된 줄을 필터링하십시오.
- ⬇️ :[range]! {command}<CR> {command}를 통해 [range] 라인 필터링
- 🔢 ={motion} 'equalprg'를 통해 이동 한 라인을 필터링 through 'equalprg'
- 🔢 == 'equalprg'를 통해 N 라인 필터링
- {visual}= 'equalprg'를 통해 강조 표시된 줄을 필터링하십시오.
- ✅ ⭐ ⚠️ :[range]s[ubstitute]/{pattern}/{string}/[g][c] [range] 행에서 {string}으로 {pattern}을 대체하십시오. [g]로, 모든 {pattern}을 대체하십시오. [c]로 각 교체 확인 현재는 JavaScript 정규식 만 지원하며 gi 옵션 만 구현됩니다.
- ⬇️ :[range]s[ubstitute][g][c] 새로운 범위와 옵션으로 이전 ": s"반복
- ⬇️ & 옵션없이 현재 줄에서 이전 ": s"반복
- ⬇️ :[range]ret[ab][!] [tabstop] 'tabstop'을 새 값으로 설정하고 그에 따라 공백을 조정하십시오.
+ Status Command Description Note
+ ----------------------------------- ---------------------------------------------- -------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------
+ ⬇️ 🔢 !{motion}{command}<CR> {command}를 통해 이동 한 행을 필터링
+ ⬇️ 🔢 !!{command}<CR> {command}를 통해 N 라인 필터링
+ ⬇️ {visual}!{command}<CR> {command}를 통해 강조 표시된 줄을 필터링하십시오.
+ ⬇️ :[range]! {command}<CR> {command}를 통해 [range] 라인 필터링
+ 🔢 ={motion} 'equalprg'를 통해 이동 한 라인을 필터링 through 'equalprg'
+ 🔢 == 'equalprg'를 통해 N 라인 필터링
+ {visual}= 'equalprg'를 통해 강조 표시된 줄을 필터링하십시오.
+ ✅ ⭐ ⚠️ :[range]s[ubstitute]/{pattern}/{string}/[g][c] [range] 행에서 {string}으로 {pattern}을 대체하십시오. [g]로, 모든 {pattern}을 대체하십시오. [c]로 각 교체 확인 현재는 JavaScript 정규식 만 지원하며 gi 옵션 만 구현됩니다.
+ ⬇️ :[range]s[ubstitute][g][c] 새로운 범위와 옵션으로 이전 ": s"반복
+ ⬇️ & 옵션없이 현��� 줄에서 이전 ": s"반복
+ ⬇️ :[range]ret[ab][!] [tabstop] 'tabstop'을 새 값으로 설정하고 그에 따라 공백을 조정하십시오.

비주얼 모드

- Status Command Description
- v 문자 강조 표시 시작 또는 강조 표시 중지
- V 선으로 강조 표시 시작 또는 강조 표시 중지
- CTRL-V 블록 단위로 강조 표시 시작 또는 강조 표시 중지
- o 강조 표시 시작으로 커서 위치 교환
- gv 이전 시각적 영역에서 강조 표시 시작
+ Status Command Description
+ ------------------ ------- ----------------------------------------------
+ v 문자 강조 표시 시작 또는 강조 표시 중지
+ V 선으로 강조 표시 시작 또는 강조 표시 중지
+ CTRL-V 블록 ���위로 강조 표시 시작 또는 강조 표시 중지
+ o 강조 표시 시작으로 커서 위치 교환
+ gv 이전 시각적 영역에서 강조 표시 시작

텍스트 객체 (비주얼 모드에서만 또는 연산자 뒤)

- Status Command Description
- 🔢 aw "a word"를 선택하십시오.
- 🔢 iw "inner word"를 선택하십시오.
- 🔢 aW "a WORD"를 선택하십시오.
- 🔢 iW "inner WORD"를 선택하십시오.
- 🔢 as "a sentence"를 선택하십시오.
- 🔢 is "inner sentence"를 선택하십시오.
- 🔢 ap "a paragraph"를 선택하십시오.
- 🔢 ip "inner paragraph"를 선택하십시오.
- 🔢 a], a[ '[' ']'블록을 선택하십시오
- 🔢 i], i[ 내부 '[' ']'블록을 선택하십시오.
- 🔢 ab, a(, a) "a block"을 선택하십시오. ("[("에서 "])"까지)
- 🔢 ib, i), i( "inner block"을 선택하십시오. ("[("에서 "])"까지)
- 🔢 a>, a< "a <> block"을 선택하십시오.
- 🔢 i>, i< "inner <> block"을 선택하십시오.
- 🔢 aB, a{, a} "a Block"을 선택하십시오. ("[{"에서 "]}"까지)
- 🔢 iB, i{, i} "inner Block"을 ("[{"에서 "]}"까지)
- 🔢 at "a tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
- 🔢 it "inner tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
- 🔢 a' "a single quoted string"을 선택하십시오.
- 🔢 i' "inner single quoted string"을 선택하십시오.
- 🔢 a" "a double quoted string"을 선택하십시오.
- 🔢 i" "inner double quoted string"을 선택하십시오.
- 🔢 a` "a backward quoted string"을 선택하십시오.
- 🔢 i` "inner backward quoted string"을 선택하십시오.
+ Status Command Description
+ ------------------ ---------------------------------------------------------- --------------------------------------------------------------------
+ 🔢 aw "a word"를 선택하십시오.
+ 🔢 iw "inner word"를 선택하십시오.
+ 🔢 aW "a WORD"를 선택하십시오.
+ 🔢 iW "inner WORD"를 선택하십시오.
+ 🔢 as "a sentence"를 선택하십시오.
+ 🔢 is "inner sentence"를 선택하십시오.
+ 🔢 ap "a paragraph"를 선택하십시오.
+ 🔢 ip "inner paragraph"를 선택하십시오.
+ 🔢 a], a[ '[' ']'블록을 선택하십시오
+ 🔢 i], i[ 내부 '[' ']'블록을 선택하십시오.
+ 🔢 ab, a(, a) "a block"을 선택하십���오. ("[("에서 "])"까지)
+ 🔢 ib, i), i( "inner block"을 선택하십시오. ("[("에서 "])"까지)
+ 🔢 a>, a< "a <> block"을 선택하십시오.
+ 🔢 i>, i< "inner <> block"을 선택하십시오.
+ 🔢 aB, a{, a} "a Block"을 선택하십시오. ("[{"에서 "]}"까지)
+ 🔢 iB, i{, i} "inner Block"을 ("[{"에서 "]}"까지)
+ 🔢 at "a tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
+ 🔢 it "inner tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
+ 🔢 a' "a single quoted string"을 선택하십시오.
+ 🔢 i' "inner single quoted string"을 선택하���시오.
+ 🔢 a" "a double quoted string"을 선택하십시오.
+ 🔢 i" "inner double quoted string"을 선택하십시오.
+ 🔢 a` "a backward quoted string"을 선택하십시오.
+ 🔢 i` "inner backward quoted string"을 선택하십시오.

반복 명령

- Status Command Description Note
- ✅ ⭐ 🔢 . 마지막 변경을 반복합니다 (N으로 개수를 대체) 커서 아래에서 발생하지 않는 내용 변경은 반복 할 수 없습니다.
- q{a-z} 입력 된 문자를 레지스터 {a-z}에 기록
- ⬇️ q{A-Z} {a-z} 등록을 위해 추가 된 레코드 유형 문자
+ Status Command Description Note
+ ------------------------- --------------------------------- -------------------------------------------------------------------------------------------------- ------------------------------------------------------------
+ ✅ ⭐ 🔢 . 마지막 변경을 반복합니다 (N으로 개수를 대체) 커서 아래에서 발생하지 않는 내용 변경은 반복 할 수 없습니다.
+ q{a-z} 입력 된 문자를 레지스터 {a-z}에 기록
+ ⬇️ q{A-Z} {a-z} 등록을 위해 추가 된 레코드 유형 문자
q 녹화 중지
- 🔢 @{a-z} 레지스터 {a-z}의 내용을 실행합니다 (N 회)
- 🔢 @@ 이전 @ {a-z} 반복 (N 회)
- ⬇️ :@{a-z} 레지스터 {a-z}의 내용을 Ex 명령으로 실행
+ 🔢 @{a-z} 레지스터 {a-z}의 내용을 실행합니다 (N 회)
+ 🔢 @@ 이전 @ {a-z} 반복 (N 회)
+ ⬇️ :@{a-z} 레지스터 {a-z}의 내용을 Ex 명령으로 실행
⬇️ :@@ 이전 반복 : @ {a-z}
⬇️ :[range]g[lobal]/{pattern}/[cmd] execute Ex command cmd on the lines within [range] where {pattern} matches
⬇️ :[range]g[lobal]!/{pattern}/[cmd] execute Ex command cmd on the lines within [range] where {pattern} does NOT match
- ⬇️ :so[urce] {file} {file}에서 EX 명령을 읽습니다.
- ⬇️ :so[urce]! {file} {file}에서 Vim 명령을 읽습니다.
- ⬇️ :sl[eep][sec] [sec] 초 동안 아무 것도하지 마십시오
- ⬇️ 🔢 gs N 초 동안 절전 모드로 전환
+ ⬇️ :so[urce] {file} {file}에서 EX 명령을 읽습니다.
+ ⬇️ :so[urce]! {file} {file}에서 Vim 명령을 읽습니다.
+ ⬇️ :sl[eep][sec] [sec] 초 동안 아무 것도하지 마십시오
+ ⬇️ 🔢 gs N 초 동안 절전 모드로 전환

옵션

- Status Command Description Note
- ⬇️ :se[t] 수정 된 모든 옵션 표시
- ⬇️ :se[t] all 모든 non-termcap 옵션을 표시
- ⬇️ :se[t] termcap 모든 termcap 옵션을 표시
- :se[t] {option} set boolean option (switch it on), 문자열 또는 숫자 옵션 표시
- :se[t] no{option} boolean option 재설정(switch it off)
- :se[t] inv{option} boolean option 반전
- :se[t] {option}={value} 문자열 / 숫자 옵션을 {value}로 설정
- :se[t] {option}+={value} 문자열 옵션에 {value} 추가, 숫자 옵션에 {value} 추가
- ✅ ⭐ :se[t] {option}-={value} 문자열 옵션에서 {value}를 제거하고 숫자 옵션에서 {value}를 뺍니다. 여기서는 문자열 옵션을 지원하지 않습니다.
- :se[t] {option}? {option}의 가치를 보여주십시오.
- ⬇️ :se[t] {option}& {option}을 기본 값으로 재설정
- ⬇️ :setl[ocal] ": set"과 같지만 옵션이있는 옵션의 로컬 값을 설정하십시오.
- ⬇️ :setg[lobal] ": set"과 같지만 로컬 옵션의 전역 값을 설정하십시오.
- ⬇️ :fix[del] 't_kb'값에 따른 't_kD'값 설정
+ Status Command Description Note
+ ------------------------- ------------------------ -------------------------------------------------------------------------- -----------------------------------------
+ ⬇️ :se[t] 수정 된 모든 옵션 표시
+ ⬇️ :se[t] all 모든 non-termcap 옵션을 표시
+ ⬇️ :se[t] termcap 모든 termcap 옵션을 표시
+ :se[t] {option} set boolean option (switch it on), 문자열 또는 숫자 옵션 표시
+ :se[t] no{option} boolean option 재설정(switch it off)
+ :se[t] inv{option} boolean option 반전
+ :se[t] {option}={value} 문자열 / 숫자 옵션을 {value}로 설정
+ :se[t] {option}+={value} 문자열 옵션에 {value} 추가, 숫자 옵션에 {value} 추가
+ ✅ ⭐ :se[t] {option}-={value} 문자열 옵션에서 {value}를 제거하고 숫자 옵션에서 {value}를 뺍니다. 여기서는 문자열 옵션을 지원하지 않습니다.
+ :se[t] {option}? {option}의 가치를 보여주십시오.
+ ⬇️ :se[t] {option}& {option}을 기본 값으로 재설정
+ ⬇️ :setl[ocal] ": set"과 같지만 옵션이있는 옵션의 로컬 값을 설정하십시오.
+ ⬇️ :setg[lobal] ": set"과 같지만 로컬 옵션의 전역 값을 설정하십시오.
+ ⬇️ :fix[del] 't_kb'값에 따른 't_kD'값 설정
⬇️ :opt[ions] 기능별로 분류 된 옵션, 한 줄 설명 및 도움말 링크를 보려면 새 창을 엽니 다.

목록이 너무 길기 때문에 이미 지원되는 옵션을 여기에 넣습니다.

- Status Command Default Value Description
- tabstop (ts) 4. we use Code's default value tabSize instead of Vim 파일의 <Tab>이 사용하는 공백 수
- hlsearch (hls) false 이전 검색 패턴이 있으면 일치하는 항목을 모두 강조 표시하십시오.
- ignorecase (ic) true 검색 패턴에서 대소 문자를 무시하십시오.
- smartcase (scs) true 검색 패턴에 대문자가 포함 된 경우 'ignorecase'옵션을 대체하십시오.
- iskeyword (isk) @,48-57,_,128-167,224-235 키워드는 영숫자와 '\ _'를 포함합니다. iskeyword에 대한 사용자 설정이 없으면editor.wordSeparators 속성을 사용합니다.
- scroll (scr) 20 CTRL-U 및 CTRL-D 명령으로 스크롤 할 행의 수입니다.
- expandtab (et) True. we use Code's default value insertSpaces instead of Vim <Tab>을 삽입 할 때 공백을 사용하십시오.
- autoindent true 정상 모드에서cc 또는S를 수행 할 때 들여 쓰기를 유지하여 줄을 바꿉니다.
+ Status Command Default Value Description
+ ------------------ --------------- --------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------
+ tabstop (ts) 4. we use Code's default value tabSize instead of Vim 파일의 <Tab>이 사용하는 공백 수
+ hlsearch (hls) false 이전 검색 패턴이 있으면 일치하는 항목을 모두 강조 표시하십시오.
+ ignorecase (ic) true 검색 패턴에서 대소 문자를 무시하십시오.
+ smartcase (scs) true 검색 패턴에 대문자가 포함 된 경우 'ignorecase'옵션을 대체하십시오.
+ iskeyword (isk) @,48-57,_,128-167,224-235 키워드는 영숫자와 '\ _'를 포함합니다. iskeyword에 대한 사용자 설정이 없으면editor.wordSeparators 속성을 사용합니다.
+ scroll (scr) 20 CTRL-U 및 CTRL-D 명령으로 스크롤 할 행의 수입니다.
+ expandtab (et) True. we use Code's default value insertSpaces instead of Vim <Tab>을 삽입 할 때 공백을 사용하십시오.
+ autoindent true 정상 모드에서cc 또는S를 수행 할 때 들여 쓰기를 유지하여 줄을 바꿉니다.

실행 취소 / 재실행 명령

- Status Command Description Note
- 🔢 u undo last N changes 현재 구현이 모든 경우를 완벽하게 다루지는 않을 수 있습니다.
+ Status Command Description Note
+ ------------------ ------------- -------------------------- -----------------------------------------------------------
+ 🔢 u undo last N changes 현재 구현이 모든 경우를 완벽하게 다루지는 않을 수 있습니다.
🔢 CTRL-R redo last N undone changes 위와 같음
U restore last changed line

외부 명령

- Status Command Description
- ⬇️ :sh[ell] shell을 시작하다
- ⬇️ :!{command} shell로 {command}를 실행
- ⬇️ K 'keywordprg'프로그램이있는 커서 아래의 검색 키워드 (기본값 : "man")
+ Status Command Description
+ ------------ ----------- -------------------------------------------------------------------
+ ⬇️ :sh[ell] shell을 시작하다
+ ⬇️ :!{command} shell로 {command}를 실행
+ ⬇️ K 'keywordprg'프로그램이있는 커서 아래의 검색 키워드 (기본값 : "man")

전 번호

- Status Command Description Note
- , 두 줄 번호를 구분
- ✅ ⭐ ; idem, 두 번째 행을 해석하기 전에 커서를 첫 번째 행 번호로 설정하십시오. 커서 이동은 포함되지 않습니다.
- {number} 절대적인 line number
- . 현재 줄
- $ 파일의 마지막 줄
- % 1,$와 같음 (전체 파일)
- * '<,'>은 같음(시작적 영역)
- 't mark t의 위치
- ⬇️ /{pattern}[/] {pattern}이 일치하는 다음 줄
- ⬇️ ?{pattern}[?] {pattern}이 일치하는 이전 줄
- +[num] 앞 줄 번호에 [num]을 추가하십시오 (기본값 : 1).
- -[num] 이전 줄 번호에서 [num]을 뺍니다 (기본값 : 1).
+ Status Command Description Note
+ ------------------------- ------------- ------------------------------------------------------------------------------------------------------ ----
+ , 두 줄 번호를 구분
+ ✅ ⭐ ; idem, 두 번째 행을 해석하기 전에 커서를 첫 번째 행 번호로 설정하십시오. 커서 이동은 포함되지 않습니다.
+ {number} 절대적인 line number
+ . 현재 줄
+ $ 파일의 마지막 줄
+ % 1,$와 같음 (전체 파일)
+ * '<,'>은 같음(시작적 영역)
+ 't mark t의 위치
+ ⬇️ /{pattern}[/] {pattern}이 일치하는 다음 줄
+ ⬇️ ?{pattern}[?] {pattern}이 일치하는 이전 ���
+ +[num] 앞 줄 번호에 [num]을 추가하십시오 (기본값 : 1).
+ -[num] 이전 줄 번호에서 [num]을 뺍니다 (기본값 : 1).

파일 편집

- Status Command Description Note
- ✅ ⭐ :e[dit] {file} Edit {file}. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
+ Status Command Description Note
+ ------------------------- -------------- ------------ -----------------------------------------------------------------------
+ ✅ ⭐ :e[dit] {file} Edit {file}. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.

Multi-window 명령

- Status Command Description Note
- ✅ ⭐ :e[dit] {file} {file}을 편집하십시오. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
- ✅ ⭐ <ctrl-w> hl 창 사이를 전환합니다. VS Code에는 Window라는 개념이 없으므로 이러한 명령을 그룹화 된 편집기 간 전환에 매핑합니다.
- :sp {file} 현재 창을 두개로 나눕니다.
- ✅ ⭐ :vsp {file} 세로로 현재 창을 두 개로 나눕니다.
- <ctrl-w> s 현재 창을 두개로 나눕니다.
- ✅ ⭐ <ctrl-w> v 세로로 현재 창을 두 개로 나눕니다.
- :new 새 창을 가로로 만들고 빈 파일 편집을 시작하십시오.
- ✅ ⭐ :vne[w] 새 창을 세로로 만들고 빈 파일 편집을 시작하십시오.
+ Status Command Description Note
+ ------------------------- ----------------- -------------------------------------------------- -------------------------------------------------------------------------------------------
+ ✅ ⭐ :e[dit] {file} {file}을 편집하십시오. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
+ ✅ ⭐ <ctrl-w> hl 창 사이를 전환합니다. VS Code에는 Window라는 개념이 없으므로 이러한 명령을 그룹화 된 편집기 간 전환에 매핑합니다.
+ :sp {file} 현재 창을 두개로 나눕니다.
+ ✅ ⭐ :vsp {file} 세로로 현재 창을 두 개로 나눕니다.
+ <ctrl-w> s 현재 창을 두개로 나눕니다.
+ ✅ ⭐ <ctrl-w> v 세로로 현재 창을 두 개로 나눕니다.
+ :new 새 창을 가로로 만들고 빈 파일 편집을 시작하십시오.
+ ✅ ⭐ :vne[w] 새 창을 세로로 만들고 빈 파일 편집을 시작하십시오.

- Status Command Description Note
+ Status Command Description Note
+ ------------------------- ------------------------------------ ------------------------------------------------------------------------------------- ---------------------------------------------------------------
:tabn[ext] 🔢 다음 탭 페이지 또는 탭 페이지 {count}로 이동하십시오. 첫 번째 탭 페이지는 1 번입니다.
- {count}<C-PageDown>, {count}gt 위와 동일
- :tabp[revious] 🔢 이전 탭 페이지로 이동하십시오. 첫 번째부터 마지막까지 감싸줍니다.
- :tabN[ext] 🔢 위와 동일
- {count}<C-PageUp>, {count}gT 위와 동일
- :tabfir[st] 첫 번째 탭 페이지로 이동하십시오.
- :tabl[ast] 마지막 탭 페이지로 이동하십시오.
- :tabe[dit] {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
- ⬇️ :[count]tabe[dit], :[count]tabnew 위와 동일 [count] 는 지원되지 않습니다.
- :tabnew {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
- ⬇️ :[count]tab {cmd} {cmd}를 실행하고 새 창이 열리면 대신 새 탭 페이지를여십시오.
- ✅ ⭐ :tabc[lose][!] 🔢 현재 탭 페이지를 닫거나 탭 페이지 {count}를 닫습니다. 코드는 저장하지 않고 탭을 직접 닫습니다.
- ✅ ⭐ :tabo[nly][!] 다른 모든 탭 페이지를 닫습니다. !는 지원되지 않으며, 코드는 저장하지 않고 탭을 직접 닫습니다.
- :tabm[ove][n] 현재 탭 페이지를 탭 페이지 N 이후로 이동하십시오.
- ⬇️ :tabs 탭 페이지와 포함 된 창을 나열하십시오. 항상 코드의 내장 단축키를 사용할 수 있습니다 :cmd / ctrl + p
- ⬇️ :tabd[o] {cmd} 각 탭 페이지에서 {cmd}를 실행하십시오.
+ {count}<C-PageDown>, {count}gt 위와 동일
+ :tabp[revious] 🔢 이전 탭 페이지로 이동하십시오. 첫 번째부터 마지막까지 감싸줍니다.
+ :tabN[ext] 🔢 위와 동일
+ {count}<C-PageUp>, {count}gT 위와 동일
+ :tabfir[st] 첫 번째 탭 페이지로 이동하십시오.
+ :tabl[ast] 마지막 탭 페이지로 이동하십시오.
+ :tabe[dit] {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
+ ⬇️ :[count]tabe[dit], :[count]tabnew 위와 동일 [count] 는 지원되지 않습니다.
+ :tabnew {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
+ ⬇️ :[count]tab {cmd} {cmd}를 실행하고 새 창이 열리면 대신 새 탭 페이지를여십시오.
+ ✅ ⭐ :tabc[lose][!] 🔢 현재 탭 페이지를 닫거나 탭 페이지 {count}를 닫습니다. 코드는 저장하지 않고 탭을 직접 닫습니다.
+ ✅ ⭐ :tabo[nly][!] 다른 모든 탭 페이지를 닫습니다. !는 지원되지 않으며, 코드는 ���장하지 않고 탭을 직접 닫습니다.
+ :tabm[ove][n] 현재 탭 페이지를 탭 페이지 N 이후로 이동하십시오.
+ ⬇️ :tabs 탭 페이지와 포함 된 창을 나열하십시오. 항상 코드의 내장 단축키를 사용할 수 있습니다 :cmd / ctrl + p
+ ⬇️ :tabd[o] {cmd} 각 탭 페이지에서 {cmd}를 실행하십시오.

Folding

@@ -558,33 +558,33 @@ folding 방법은 'foldmethod' 옵션으로 설정할 수 있습니다. 현재 C

모든 fold-related가 this issue에 의해 차단되었습니다.

- Status Command Description
- ⬇️ zf{motion} or {Visual}zf fold를 만드는 연산자입니다.
- ⬇️ zF [count] 줄의 fold를 만듭니다. "zf"처럼 작동합니다.
- ⬇️ zd 커서에서 하나의 fold를 삭제하십시오.
- ⬇️ zD 커서에서 fold를 재귀적으로 삭제합니다.
- ⬇️ zE 창의 모든 fold를 제거하십시오.
- zo 커서 아래에 하나의 fold를 엽니다. 카운트가 주어지면 그 많은 폴드가 열립니다.
- zO 커서 아래의 모든 fold를 재귀적으로 엽니다.
- zc 커서 아래에서 한 개의 fold를 닫습니다. 카운트가 주어지면 깊은 곳의 많은 folds가 닫힙니다.
- zC 커서 아래의 모든fold를 재귀적으로 닫습니다.
- za 닫힌 fold에있을 때 : 여십시오. 열린 fold시 : 닫고 '접을 수 있음'을 설정하십시오.
- ⬇️ zA 열린 fold에 있을 때: 재귀적으로 엽니다. 닫힌 fold에 있을 때 : 재귀적으로 닫고 'foldenable'을 설정하십시오.
- ⬇️ zv View cursor line: 라인을 만들기에 충분한 fold를 엽니다.
- ⬇️ zx 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
- ⬇️ zX Update folds : 수동으로 열리고 닫힌 fold를 취소합니다. 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
- ⬇️ zm Fold more : 'foldlevel'에서 하나를 빼십시오.
- zM Close all folds : 'foldlevel'을 0으로 설정하십시오. 'foldenable'이 설정됩니다.
- ⬇️ zr Reduce folding : '폴더'에 하나를 추가하십시오.
- zR Open all fold. 'foldlevel'을 가장 높은 접기 수준으로 설정합니다.
- ⬇️ zn Fold none : 'foldenable'을 재설정하십시오. 모든 주름이 열립니다.
- ⬇️ zN Fold normal : 'foldenable'을 설정하십시오. 모든 주름은 이전과 동일합니다.
- ⬇️ zi 'foldenable'을 반전시킵니다.
- ⬇️ [z 현재 열린 fold 시작으로 이동합니다.
- ⬇️ ]z 현재 열린 fold의 끝으로 이동합니다.
- ⬇️ zj 다음 fold의 시작 부분으로 아래로 이동하십시오.
- ⬇️ zk 이전 fold의 끝으로 위로 이동하십시오.
+ Status Command Description
+ ------------------ ------------------------ -----------------------------------------------------------------------------------------------------------------------------
+ ⬇️ zf{motion} or {Visual}zf fold를 만드는 연산자입니다.
+ ⬇️ zF [count] 줄의 fold를 만듭니다. "zf"처럼 작동합니다.
+ ⬇️ zd 커서에서 하나의 fold를 삭제하십시오.
+ ⬇️ zD 커서에서 fold를 재귀적으로 삭제합니다.
+ ⬇️ zE 창의 모든 fold를 제거하십시오.
+ zo 커서 아래에 하나의 fold를 엽니다. 카운트가 주어지면 그 많은 폴드가 열립니다.
+ zO 커서 아래의 모든 fold를 재귀적으로 엽니다.
+ zc 커서 아래에서 한 개의 fold를 닫습니다. 카운트가 주어지면 깊은 곳의 많은 folds가 닫힙니다.
+ zC 커서 아래의 모든fold를 재귀적으로 닫습니다.
+ za 닫힌 fold에있을 때 : 여십시오. 열린 fold시 : 닫고 '접을 수 있음'을 설정하십시오.
+ ⬇️ zA 열린 fold에 있을 때: 재귀적으로 엽니다. 닫힌 fold에 있을 때 : 재귀적으로 닫고 'foldenable'을 설정하십시오.
+ ⬇️ zv View cursor line: 라인을 만들기에 충분한 fold를 엽니다.
+ ⬇️ zx 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
+ ⬇️ zX Update folds : 수동으로 열리고 닫힌 fold를 취소합니다. 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
+ ⬇️ zm Fold more : 'foldlevel'에서 하나를 빼십시오.
+ zM Close all folds : 'foldlevel'을 0으로 설정하십시오. 'foldenable'이 설정됩니다.
+ ⬇️ zr Reduce folding : '폴더'에 하나를 추가하십시오.
+ zR Open all fold. 'foldlevel'을 가장 높은 접기 수준으로 설정합니다.
+ ⬇️ zn Fold none : 'foldenable'을 재설정하십시오. 모든 주름이 열립니다.
+ ⬇️ zN Fold normal : 'foldenable'을 설정하십시오. 모든 주름은 이전과 동일합니다.
+ ⬇️ zi 'foldenable'을 반전시킵니다.
+ ⬇️ [z 현재 열린 fold 시작으로 이동합니다.
+ ⬇️ ]z 현재 열린 fold의 끝으로 이동합니다.
+ ⬇️ zj 다음 fold의 시작 부분으로 아래로 이동하십시오.
+ ⬇️ zk 이전 fold의 끝으로 위로 이동하십시오.

Fold 옵션

diff --git a/src/actions/commands/actions.ts b/src/actions/commands/actions.ts
index 20b91f9..6384f34 100644
--- a/src/actions/commands/actions.ts
+++ b/src/actions/commands/actions.ts
@@ -449,7 +449,11 @@ class CommandInsertWord extends BaseCommand {
@RegisterAction
class CommandRecordMacro extends BaseCommand {
modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['q', ''], ['q', ''], ['q', '"']];
  • keys = [

  • ['q', ''],

  • ['q', ''],

  • ['q', '"'],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    const register = this.keysPressed[1];
    @@ -2296,7 +2300,10 @@ export class CommandShowCommandHistory extends BaseCommand {
    @RegisterAction
    export class CommandShowSearchHistory extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['q', '/'], ['q', '?']];
  • keys = [

  • ['q', '/'],

  • ['q', '?'],

  • ];

    private direction = SearchDirection.Forward;

@@ -3032,7 +3039,10 @@ class CommandGoForwardInChangelist extends BaseCommand {
@RegisterAction
class CommandGoStartPrevOperatedText extends BaseCommand {
modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['`', '['], ["'", '[']];
  • keys = [

  • ['`', '['],

  • ["'", '['],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3048,7 +3058,10 @@ class CommandGoStartPrevOperatedText extends BaseCommand {
    @RegisterAction
    class CommandGoEndPrevOperatedText extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['`', ']'], ["'", ']']];
  • keys = [

  • ['`', ']'],

  • ["'", ']'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3064,7 +3077,10 @@ class CommandGoEndPrevOperatedText extends BaseCommand {
    @RegisterAction
    class CommandGoLastChange extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['`', '.'], ["'", '.']];
  • keys = [

  • ['`', '.'],

  • ["'", '.'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3314,7 +3330,12 @@ class CommandNavigateLastBOL extends BaseCommand {
    @RegisterAction
    class CommandQuit extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['', 'q'], ['', ''], ['', 'c'], ['', '']];
  • keys = [

  • ['', 'q'],

  • ['', ''],

  • ['', 'c'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    new QuitCommand({}).execute();
    @@ -3326,7 +3347,10 @@ class CommandQuit extends BaseCommand {
    @RegisterAction
    class CommandOnly extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['', 'o'], ['', '']];
  • keys = [

  • ['', 'o'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    new OnlyCommand({}).execute();
    @@ -3402,7 +3426,10 @@ class MoveToLeftPane extends BaseCommand {
    @RegisterAction
    class CycleThroughPanes extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', ''], ['', 'w']];
  • keys = [

  • ['', ''],

  • ['', 'w'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3423,7 +3450,10 @@ class BaseTabCommand extends BaseCommand {
    @RegisterAction
    class VerticalSplit extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', 'v'], ['', '']];
  • keys = [

  • ['', 'v'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    vimState.postponedCodeViewChanges.push({
    @@ -3438,7 +3468,10 @@ class VerticalSplit extends BaseCommand {
    @RegisterAction
    class OrthogonalSplit extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', 's'], ['', '']];
  • keys = [

  • ['', 's'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    vimState.postponedCodeViewChanges.push({
    diff --git a/src/actions/motion.ts b/src/actions/motion.ts
    index ca96602..2fd533f 100644
    --- a/src/actions/motion.ts
    +++ b/src/actions/motion.ts
    @@ -791,7 +791,10 @@ class MoveScreenLineCenter extends MoveByScreenLine {
    @RegisterAction
    export class MoveUpByDisplayLine extends MoveByScreenLine {
    modes = [ModeName.Insert, ModeName.Normal, ModeName.Visual];

  • keys = [['g', 'k'], ['g', '']];
  • keys = [
  • ['g', 'k'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'up';
    by: CursorMoveByUnit = 'wrappedLine';
    value = 1;
    @@ -800,7 +803,10 @@ export class MoveUpByDisplayLine extends MoveByScreenLine {
    @RegisterAction
    class MoveDownByDisplayLine extends MoveByScreenLine {
    modes = [ModeName.Insert, ModeName.Normal, ModeName.Visual];
  • keys = [['g', 'j'], ['g', '']];
  • keys = [
  • ['g', 'j'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'down';
    by: CursorMoveByUnit = 'wrappedLine';
    value = 1;
    @@ -814,7 +820,10 @@ class MoveDownByDisplayLine extends MoveByScreenLine {
    @RegisterAction
    class MoveUpByScreenLineVisualLine extends MoveByScreenLine {
    modes = [ModeName.VisualLine];
  • keys = [['g', 'k'], ['g', '']];
  • keys = [
  • ['g', 'k'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'up';
    by: CursorMoveByUnit = 'line';
    value = 1;
    @@ -823,7 +832,10 @@ class MoveUpByScreenLineVisualLine extends MoveByScreenLine {
    @RegisterAction
    class MoveDownByScreenLineVisualLine extends MoveByScreenLine {
    modes = [ModeName.VisualLine];
  • keys = [['g', 'j'], ['g', '']];
  • keys = [
  • ['g', 'j'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'down';
    by: CursorMoveByUnit = 'line';
    value = 1;
    @@ -832,7 +844,10 @@ class MoveDownByScreenLineVisualLine extends MoveByScreenLine {
    @RegisterAction
    class MoveUpByScreenLineVisualBlock extends BaseMovement {
    modes = [ModeName.VisualBlock];
  • keys = [['g', 'k'], ['g', '']];
  • keys = [

  • ['g', 'k'],

  • ['g', ''],

  • ];
    doesntChangeDesiredColumn = true;

    public async execAction(position: Position, vimState: VimState): Promise<Position | IMovement> {
    @@ -848,7 +863,10 @@ class MoveUpByScreenLineVisualBlock extends BaseMovement {
    @RegisterAction
    class MoveDownByScreenLineVisualBlock extends BaseMovement {
    modes = [ModeName.VisualBlock];

  • keys = [['g', 'j'], ['g', '']];
  • keys = [

  • ['g', 'j'],

  • ['g', ''],

  • ];
    doesntChangeDesiredColumn = true;

    public async execAction(position: Position, vimState: VimState): Promise<Position | IMovement> {
    diff --git a/src/actions/plugins/sneak.ts b/src/actions/plugins/sneak.ts
    index 9284c26..e72283c 100644
    --- a/src/actions/plugins/sneak.ts
    +++ b/src/actions/plugins/sneak.ts
    @@ -7,7 +7,10 @@ import { BaseMovement, IMovement } from '../baseMotion';

@RegisterAction
export class SneakForward extends BaseMovement {

  • keys = [['s', '', ''], ['z', '', '']];
  • keys = [

  • ['s', '', ''],

  • ['z', '', ''],

  • ];

    public couldActionApply(vimState: VimState, keysPressed: string[]): boolean {
    const startingLetter = vimState.recordedState.operator === undefined ? 's' : 'z';
    @@ -46,7 +49,7 @@ export class SneakForward extends BaseMovement {

    const ignorecase =
      configuration.sneakUseIgnorecaseAndSmartcase &&
    
  •    (configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString)));
    
  •    configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString));
    
     // Check for matches
     if (ignorecase) {
    

@@ -68,7 +71,10 @@ export class SneakForward extends BaseMovement {

@RegisterAction
export class SneakBackward extends BaseMovement {

  • keys = [['S', '', ''], ['Z', '', '']];
  • keys = [

  • ['S', '', ''],

  • ['Z', '', ''],

  • ];

    public couldActionApply(vimState: VimState, keysPressed: string[]): boolean {
    const startingLetter = vimState.recordedState.operator === undefined ? 'S' : 'Z';
    @@ -106,7 +112,7 @@ export class SneakBackward extends BaseMovement {

    const ignorecase =
      configuration.sneakUseIgnorecaseAndSmartcase &&
    
  •    (configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString)));
    
  •    configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString));
    
     // Check for matches
     if (ignorecase) {
    

diff --git a/src/configuration/configuration.ts b/src/configuration/configuration.ts
index ded8494..e64450d 100644
--- a/src/configuration/configuration.ts
+++ b/src/configuration/configuration.ts
@@ -276,14 +276,24 @@ class Configuration implements IConfiguration {
@overlapSetting({
settingName: 'lineNumbers',
defaultValue: true,

  • map: new Map([['on', true], ['off', false], ['relative', false], ['interval', false]]),
  • map: new Map([
  •  ['on', true],
    
  •  ['off', false],
    
  •  ['relative', false],
    
  •  ['interval', false],
    
  • ]),
    })
    number: boolean;

@overlapSetting({
settingName: 'lineNumbers',
defaultValue: false,

  • map: new Map([['on', false], ['off', false], ['relative', true], ['interval', false]]),
  • map: new Map([
  •  ['on', false],
    
  •  ['off', false],
    
  •  ['relative', true],
    
  •  ['interval', false],
    
  • ]),
    })
    relativenumber: boolean;

diff --git a/src/state/recordedState.ts b/src/state/recordedState.ts
index 322521e..1ceee1f 100644
--- a/src/state/recordedState.ts
+++ b/src/state/recordedState.ts
@@ -167,7 +167,7 @@ export class RecordedState {
mode !== ModeName.SearchInProgressMode &&
mode !== ModeName.CommandlineInProgress &&
(this.hasRunAMovement ||

  •    (mode === ModeName.Visual || mode === ModeName.VisualLine) ||
    
  •    mode === ModeName.Visual || mode === ModeName.VisualLine ||
       (this.operators.length > 1 &&
         this.operators.reverse()[0].constructor === this.operators.reverse()[1].constructor))
    
    );
    diff --git a/test/actions/baseAction.test.ts b/test/actions/baseAction.test.ts
    index ddd01a0..4172c8a 100644
    --- a/test/actions/baseAction.test.ts
    +++ b/test/actions/baseAction.test.ts
    @@ -12,7 +12,10 @@ class TestAction1D extends BaseAction {
    }

class TestAction2D extends BaseAction {

  • keys = [['a', 'b'], ['c', 'd']];
  • keys = [
  • ['a', 'b'],
  • ['c', 'd'],
  • ];
    modes = [ModeName.Normal];
    }

@@ -36,7 +39,14 @@ suite('base action', () => {
[[['a'], ['b']], ['c'], false],
[['a', 'b'], ['a', 'b'], true],
[['a', 'b'], ['a', 'c'], false],

  •  [[['a', 'b'], ['c', 'd']], ['c', 'd'], true],
    
  •  [
    
  •    [
    
  •      ['a', 'b'],
    
  •      ['c', 'd'],
    
  •    ],
    
  •    ['c', 'd'],
    
  •    true,
    
  •  ],
     [[''], ['a'], false],
     [['<Esc>'], ['<Esc>'], true],
    
    ];
    diff --git a/test/jumpTracker.test.ts b/test/jumpTracker.test.ts
    index 1da5fb0..2e89e5a 100644
    --- a/test/jumpTracker.test.ts
    +++ b/test/jumpTracker.test.ts
    @@ -170,7 +170,13 @@ suite('Record and navigate jumps', () => {
    // Note the column number was preserved for newer jump when it found duplicates on a line.
    assert.deepEqual(
    jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),
  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1'], [3, 5, 'file1'], [4, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •      [3, 5, 'file1'],
    
  •      [4, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting two lines`
     );
    

@@ -183,7 +189,12 @@ suite('Record and navigate jumps', () => {
// Preserve the newest jump in that case
assert.deepEqual(
jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),

  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1'], [3, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •      [3, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting another line`
     );
    

@@ -195,7 +206,11 @@ suite('Record and navigate jumps', () => {
// If you delete lines such that jumps are past EOF, delete the jumps
assert.deepEqual(
jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),

  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting all lines in file`
     );
    

    });
    diff --git a/test/testSimplifier.ts b/test/testSimplifier.ts
    index ba6176e..52a8e29 100644
    --- a/test/testSimplifier.ts
    +++ b/test/testSimplifier.ts
    @@ -27,7 +27,10 @@ export function getTestingFunctions() {

    test(testObj.title, async () =>
    testIt

  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

@@ -42,7 +45,10 @@ export function getTestingFunctions() {

 test.only(testObj.title, async () =>
   testIt
  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

@@ -56,7 +62,10 @@ export function getTestingFunctions() {

 test.skip(testObj.title, async () =>
   testIt
  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

Prettier Failed. Run [10:08:02] Using gulpfile ~/build/VSCodeVim/Vim/gulpfile.js
[10:08:02] Starting 'forceprettier'...
[10:08:18] Finished 'forceprettier' after 15 s and commit changes to resolve.


</details>


###### TravisBuddy Request Identifier: 020dd440-0d10-11ea-aaf2-61ea24cf814e

RoadMap Korean translation
@DokyungHwang
Copy link
Author

RoadMap has been translated into Korean so as not to violate the format. Please confirm .

@TravisBuddy
Copy link

Travis tests have failed

Hey @DokyungHwang,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

Node.js: 8

View build log

if [[ $(git diff-index HEAD -- *.js *.ts *.md) ]]; then git diff; echo "Prettier Failed. Run `gulp forceprettier` and commit changes to resolve."; exit 1; fi
diff --git a/Korea/CODE_OF_CONDUCT.md b/Korea/CODE_OF_CONDUCT.md
index 81de4ec..de2aea7 100644
--- a/Korea/CODE_OF_CONDUCT.md
+++ b/Korea/CODE_OF_CONDUCT.md
@@ -7,7 +7,7 @@
 ## 우리의 책임
 
 프로젝트 매니저(Project Maintainer)는 다음과 같은 권리와 책임을 가지고 있습니다.
- 기여활동에 대해 삭제/편집 혹은 코멘트,커밋,코드작성,위키수정,이슈보고, 그리고 기타 규율을 지키지 않는 기여활동에 대해
+기여활동에 대해 삭제/편집 혹은 코멘트,커밋,코드작성,위키수정,이슈보고, 그리고 기타 규율을 지키지 않는 기여활동에 대해
 또한 임시/영구적으로 부적절한 행동을하고, 공격적으로 타인을 대하거나, 해로운 짓을 하는 사람을 추방(ban)할 수 있습니다.
 
 프로젝트 매니저는 다음 사항에 대한 수행 권리와 책임을 가지고 있습니다.
diff --git a/Korea/CONTRIBUTING.md b/Korea/CONTRIBUTING.md
index fa2fc59..f077ff9 100644
--- a/Korea/CONTRIBUTING.md
+++ b/Korea/CONTRIBUTING.md
@@ -6,7 +6,7 @@ VSCodeVim을 개선하는 데 도움을 주셔서 감사합니다! :clap:
 
 ## 이슈 제출
 
-[GitHub 이슈 트래커](https://github.com/VSCodeVim/Vim/issues)는 버그 및 개선 제안 추적에 선호되는 채널입니다. 
+[GitHub 이슈 트래커](https://github.com/VSCodeVim/Vim/issues)는 버그 및 개선 제안 추적에 선호되는 채널입니다.
 새로운 버그 리포트를 생성 할 때 :
 
 - 다른 사람이 이미 문제를보고했거나 아이디어를 요청했는지 확인하려면 기존 문제를 검색하십시오.
@@ -86,7 +86,7 @@ PR을 제출할 때 PR이 열릴 때 GitHub에서 제공하는 템플릿을 작
 
 #### vscode.window.onDidChangeTextEditorSelection
 
-이것은 클릭 이벤트 기반 API가없는 IDE에서 클릭 이벤트를 시뮬레이트하는 나의 핵입니다 (아직?). 방금 들어온 선택 항목을 확인하여 이전에 상태 시스템을 마지막으로 업데이트했을 때 선택 항목을 설정했다고 생각한 것과 같은지 확인합니다. 그렇지 않은 경우 사용자가 클릭했을 수 있습니다. (그러나 아마도 또한  탭을 완성 할 수도있었습니다!)
+이것은 클릭 이벤트 기반 API가없는 IDE에서 클릭 이벤트를 시뮬레이트하는 나의 핵입니다 (아직?). 방금 들어온 선택 항목을 확인하여 이전에 상태 시스템을 마지막으로 업데이트했을 때 선택 항목을 설정했다고 생각한 것과 같은지 확인합니다. 그렇지 않은 경우 사용자가 클릭했��� 수 있습니다. (그러나 아마도 또한 탭을 완성 할 수도있었습니다!)
 
 ## 배포
 
diff --git a/Korea/README.md b/Korea/README.md
index e233dea..c0e76ed 100644
--- a/Korea/README.md
+++ b/Korea/README.md
@@ -6,7 +6,7 @@
 [![https://travis-ci.org/VSCodeVim/Vim](https://travis-ci.org/VSCodeVim/Vim.svg?branch=master)](https://travis-ci.org/VSCodeVim/Vim)
 [![https://vscodevim.herokuapp.com/](https://img.shields.io/badge/vscodevim-slack-blue.svg?logo=slack)](https://vscodevim.herokuapp.com/)
 
-VSCodeVim은  [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim emulation입니다.
+VSCodeVim은 [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim emulation입니다.
 
 - 🚚 지원되는 Vim 기능의 전체 목록은 [로드맵]을 참조하십시오.(ROADMAP.md).
 - 📃 [변경된 로그](CHANGELOG.md)에는 릴리스 간 주요 / 주요 / 최소 업데이트가 요약되어 있습니다.
@@ -44,7 +44,7 @@ VSCodeVim은  [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim
 
 ## 💾 설치
 
-VSCodeVim은 VS Code를  [설치](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) 하고 다시로드 한 후에 자동으로 활성화됩니다.
+VSCodeVim은 VS Code를 [설치](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) 하고 다시로드 한 후에 자동으로 활성화됩니다.
 
 > :warning: Vimscript는 지원되지 않습니다. 따라서 `.vimrc`를로드하거나 `.vim` vim 플러그인을 사용할 수 없습니다. [설정](#settings)과 [Emulated plugins](#-emulated-plugins)을 사용하여 이것을 복제해야합니다.
 
@@ -108,7 +108,7 @@ $ defaults delete -g ApplePressAndHoldEnabled
 
 이 설정은 VSCodeVim에만 적용됩니다.
 
-| 셋팅                          | 설명                                                                                                                                                                                                                                                                                                                                                                                                                      | 타입    | 기본값                         |
+| 셋팅                             | 설명                                                                                                                                                                                                                                                                                                                                                                                                                             | 타입    | 기본값                                |
 | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------- |
 | vim.changeWordIncludesWhitespace | Include trailing whitespace when changing word. This configures the <kbd>cw</kbd> action to act consistently as its siblings (<kbd>yw</kbd> and <kbd>dw</kbd>) instead of acting as <kbd>ce</kbd>.                                                                                                                                                                                                                               | Boolean | false                                 |
 | vim.cursorStylePerMode._{Mode}_  | Configure a specific cursor style for _{Mode}_. Omitted modes will use [default cursor type](https://github.com/VSCodeVim/Vim/blob/4a6fde6dbd4d1fac1f204c0dc27c32883651ef1a/src/mode/mode.ts#L34) Supported cursors: line, block, underline, line-thin, block-outline, and underline-thin.                                                                                                                                       | String  | None                                  |
@@ -135,12 +135,12 @@ $ defaults delete -g ApplePressAndHoldEnabled
 Ex-command에 neovim을 활용하려면,
 
 1.  [neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim)을 설치하세요
-2. 다음 구성을 수정하세요:
+2.  다음 구성을 수정하세요:
 
-| 환경          | 설명                    | 타입    | 기본 값 |
-| ---------------- | ------------------------------ | ------- | ------------- |
-| vim.enableNeovim |  Neovim 활성화                  | Boolean | false         |
-| vim.neovimPath   | neovim 실행 파일의 전체 경로 | String  |               |
+| 환경             | 설명                         | 타입    | 기본 값 |
+| ---------------- | ---------------------------- | ------- | ------- |
+| vim.enableNeovim | Neovim 활성화                | Boolean | false   |
+| vim.neovimPath   | neovim 실행 파일의 전체 경로 | String  |         |
 
 neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 있습니다:
 
@@ -190,7 +190,7 @@ neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 
     ]

-- <leader>m 을 바인드하여 책갈피를 추가하고 <leader>b를 사용하여 모든 책갈피 목록을 여십시오 (북마크 확장자 사용):
+- <leader>m 을 바인드하여 책갈피를 추가하고 <leader>b를 사용하여 모든 책갈피 목록을 여십시오 (북마크 확장자 사용):

    "vim.normalModeKeyBindingsNonRecursive": [
@@ -303,7 +303,7 @@ neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 
#### `"vim.insertModeKeyBindingsNonRecursive"`/`"normalModeKeyBindingsNonRecursive"`/`"visualModeKeyBindingsNonRecursive"`

- 비 재귀 키 바인딩은 삽입, 일반 및 시각적 모드에 사용하도록 재정의합니다.
-- _예:_  `j` 를 `gj`에 바인드하십시오.이 바인딩을 정상적으로 시도하면 gj의 j는 계속해서 gj로 확장됩니다. insertModeKeyBindingsNonRecursive 및 / 또는 normalModeKeyBindingNonRecursive를 사용하여이 순환 확장을 중지하십시오.
+- _예:_ `j` 를 `gj`에 바인드하십시오.이 바인딩을 정상적으로 시도하면 gj의 j는 계속해서 gj로 확장됩니다. insertModeKeyBindingsNonRecursive 및 / 또는 normalModeKeyBindingNonRecursive를 사용하여이 순환 확장을 중지하십시오.

```json
    "vim.normalModeKeyBindingsNonRecursive": [
@@ -350,20 +350,20 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니
3.  VS Code 설정
4.  VSCodeVim 기본 값

-| 환경          | 설명                                                                                                                                                                                                                                                           | 타입    | 기본 값 |
-| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------- |
-| vim.autoindent   | 새 줄을 시작할 때 현재 줄에서 들여 쓰기                                                                                                                                                                                                               | Boolean | true          |
-| vim.hlsearch     | 현재 검색과 일치하는 모든 텍스트를 강조 표시합니다                                                                                                                                                                                                                          | Boolean | false         |
-| vim.ignorecase   | 검색 패턴에서 대소 문자 무시                                                                                                                                                                                                                          | Boolean | true          |
-| vim.incsearch    | 검색을 입력하는 동안 다음 매치 표시                                                                                                                                                                                                                           | Boolean | true          |
-| vim.leader       | 키 재 매핑에 사용될`<leader>`의 키를 정의합니다                                                                                                                                                                                                               | String  | `\`           |
-| vim.showcmd      | 상태 표시 줄에 (부분) 명령 표시                                                                                                                                                                                                                     | Boolean | true          |
-| vim.showmodename | 상태 표시 줄에 현재 모드 이름 표시                                                                                                                                                                                                                           | Boolean | true          |
-| vim.smartcase    | 검색 패턴에 대문자가 포함 된 경우 '무시'설정을 대체하십시오.                                                                                                                                                                                     | Boolean | true          |
-| vim.textwidth    | `gq`를 사용할 때 너비를 자동 줄 바꿈                                                                                                                                                                                                                                    | Number  | 80            |
-| vim.timeout      | 재 매핑 된 명령에 대한 시간 초과 (밀리 초)                                                                                                                                                                                                                      | Number  | 1000          |
-| vim.whichwrap    | 줄의 시작과 끝에서 줄 바꿈을 제어합니다. 다음 / 이전 행으로 줄 바꿈해야하는 쉼표로 구분 된 키 집합입니다. 화살표 키는 삽입 모드에서 `[`  및  `]` 로 표시되며 일반 및 시각적 모드에서는`<` 및  `>` 로 표시됩니다. "everything"을 감싸려면 이것을`h,l,<,>,[,]`로 설정하십시오. | String  | ``            |
-| vim.report       |라인 수 보고에 대한 임계 값이 변경되었습니다.                                                                                                                                                                                                                     | Number  | 2             |
+| 환경             | 설명                                                                                                                                                                                                                                                                      | 타입    | 기본 값 |
+| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------- |
+| vim.autoindent   | 새 줄을 시작할 때 현재 줄에서 들여 쓰기                                                                                                                                                                                                                                   | Boolean | true    |
+| vim.hlsearch     | 현재 검색과 일치하는 모든 텍스트를 강조 표시합니다                                                                                                                                                                                                                        | Boolean | false   |
+| vim.ignorecase   | 검색 패턴에서 대소 문자 무시                                                                                                                                                                                                                                              | Boolean | true    |
+| vim.incsearch    | 검색을 입력하는 동안 다음 매치 표시                                                                                                                                                                                                                                       | Boolean | true    |
+| vim.leader       | 키 재 매핑에 사용될`<leader>`의 키를 정의합니다                                                                                                                                                                                                                           | String  | `\`     |
+| vim.showcmd      | 상태 표시 줄에 (부분) 명령 표시                                                                                                                                                                                                                                           | Boolean | true    |
+| vim.showmodename | 상태 표시 줄에 현재 모드 이름 표시                                                                                                                                                                                                                                        | Boolean | true    |
+| vim.smartcase    | 검색 패턴에 대문자가 포함 된 경우 '무시'설정을 대체하십시오.                                                                                                                                                                                                              | Boolean | true    |
+| vim.textwidth    | `gq`를 사용할 때 너비를 자동 줄 바꿈                                                                                                                                                                                                                                      | Number  | 80      |
+| vim.timeout      | 재 매핑 된 명령에 대한 시간 초과 (밀리 초)                                                                                                                                                                                                                                | Number  | 1000    |
+| vim.whichwrap    | 줄의 시작과 끝에서 줄 바꿈을 제어합니다. 다음 / 이전 행으로 줄 바���해야하는 쉼표로 구분 된 키 집합입니다. 화살표 키는 삽입 모드에서 `[` 및 `]` 로 표시되며 일반 및 시각적 모드에서는`<` 및 `>` 로 표시됩니다. "everything"을 감싸려면 이것을`h,l,<,>,[,]`로 설정하십시오. | String  | ``      |
+| vim.report       | 라인 수 보고에 대한 임계 값이 변경되었습니다.                                                                                                                                                                                                                             | Number  | 2       |

## 🖱️ 멀티커서모드

@@ -372,7 +372,7 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니
다음으로 다중 커서 모드로 들어갑니다:

- On OSX, `cmd-d`. On Windows, `ctrl-d`.
-- `gb` `cmd-d` (OSX) 또는 `ctrl-d`  (Windows)에 해당하는 새로운 바로 가기가 추가되었습니다. 다음 단어에 커서가 현재있는 단어와 일치하는 다른 커서를 추가합니다.
+- `gb` `cmd-d` (OSX) 또는 `ctrl-d` (Windows)에 해당하는 새로운 바로 가기가 추가되었습니다. 다음 단어에 커서가 현재있는 단어와 일치하는 다른 커서를 추가합니다.
- "Add Cursor Above/Below"을 실행하거나 다른 플랫폼으로 빠르게 접근하기.

커서가 여러 개 있으면 Vim 명령을 사용할 수 있습니다. 대부분 작동해야합니다. 일부는 지원되지 않습니다(참조 [PR#587](https://github.com/VSCodeVim/Vim/pull/587)).
@@ -386,7 +386,7 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니

> :warning: 이 플러그인을 사용하면 성능에 영향을 미칩니다. 상태 표시 줄을 변경하기 위해 작업 공간 settings.json의 구성을 재정 의하여 작업 디렉토리의 대기 시간이 증가하고 diff가 지속적으로 변경됩니다(참조 [이슈#2124](https://github.com/VSCodeVim/Vim/issues/2124)).

-현재 모드에 따라 상태 표시 줄의 색상을 변경하십시오. 활성화되면`"vim.statusBarColors"`를 구성하십시오. 각 모드의 색상은 `string`  (배경 만) 또는 `string[]` (배경, 전경)로 정의 할 수 있습니다.
+현재 모드에 따라 상태 표시 줄의 색상을 변경하십시오. 활성화되면`"vim.statusBarColors"`를 구성하십시오. 각 모드의 색상은 `string` (배경 만) 또는 `string[]` (배경, 전경)로 정의 할 수 있습니다.

```json
    "vim.statusBarColorControl": true,
@@ -402,24 +402,24 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니

[vim-easymotion](https://github.com/easymotion/vim-easymotion)을 기반으로하며 다음 설정을 통해 구성됩니다:

-| 환경                                    | 설명                                                                                                                                                                                                                                                       | 타입           | 기본값  |
+| 환경                                       | 설명                                                                                                                                                                                                                                                              | 타입           | 기본값         |
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- |
-| vim.easymotion                             | easymotion 플러그인 활성화 / 비활성화                                                                                                                                                                                                                                  | Boolean        | false          |
-| vim.easymotionMarkerBackgroundColor        | 마커 상자의 배경색입니다.                                                                                                                                                                                                                          |
-| vim.easymotionMarkerForegroundColorOneChar | 한 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                                                        |
-| vim.easymotionMarkerForegroundColorTwoChar | 한 문자 마커와 구별하는 데 사용되는 두 문자 마커의 글꼴 색상입니다.                                                                                                                                                                       |
-| vim.easymotionMarkerWidthPerChar           | 각 문자에 할당 된 너비 (픽셀)입니다.                                                                                                                                                                                                                 |
-| vim.easymotionMarkerHeight                 |마커의 높이입니다.                                                                                                                                                                                                                                       |
-| vim.easymotionMarkerFontFamily             | 마커 텍스트에 사용 된 글꼴 모음입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerFontSize               | 마커 텍스트에 사용되는 글꼴 크기입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerFontWeight             | 마커 텍스트에 사용 된 글꼴 굵기입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerYOffset                | 마커 상단과 텍스트 사이의 거리 (일반적으로 높이 또는 글꼴 크기가 변경된 경우 약간의 조정이 필요함).                                                                                                                           |
-| vim.easymotionKeys                         | 점프 마커 이름에 사용되는 문자                                                                                                                                                                                                                          |
+| vim.easymotion                             | easymotion 플러그인 활성화 / 비활성화                                                                                                                                                                                                                             | Boolean        | false          |
+| vim.easymotionMarkerBackgroundColor        | 마커 상자의 배경색입니다.                                                                                                                                                                                                                                         |
+| vim.easymotionMarkerForegroundColorOneChar | 한 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                                                                   |
+| vim.easymotionMarkerForegroundColorTwoChar | 한 문자 마커와 구별하는 데 사용되는 두 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                               |
+| vim.easymotionMarkerWidthPerChar           | 각 문자에 할당 된 너비 (픽셀)입니다.                                                                                                                                                                                                                              |
+| vim.easymotionMarkerHeight                 | 마커의 높이입니다.                                                                                                                                                                                                                                                |
+| vim.easymotionMarkerFontFamily             | 마커 텍스트에 사용 된 글꼴 모음입니다.                                                                                                                                                                                                                            |
+| vim.easymotionMarkerFontSize               | 마커 텍스트에 사용되는 글꼴 크기입니다.                                                                                                                                                                                                                           |
+| vim.easymotionMarkerFontWeight             | 마커 텍스트에 사용 된 글꼴 굵기입니다.                                                                                                                                                                                                                            |
+| vim.easymotionMarkerYOffset                | 마커 상단과 텍스트 사이의 거리 (일반적으로 높이 또는 글꼴 크기가 변경된 경우 약간의 조정이 필요함).                                                                                                                                                               |
+| vim.easymotionKeys                         | 점프 마커 이름에 사용되는 문자                                                                                                                                                                                                                                    |
| vim.easymotionJumpToAnywhereRegex          | Custom regex to match for JumpToAnywhere motion (analogous to `Easymotion_re_anywhere`). Example setting (which also matches start & end of line, as well as Javascript comments in addition to the regular behavior (note the double escaping required): ^\\s\*. | \\b[A-Za-z0-9] | [A-Za-z0-9]\\b | \_. | \\#. | [a-z][a-z] | // | .\$" |

easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하십시오. 모션을 시작하면 텍스트 데코레이터 / 마커가 표시되며 표시된 키를 눌러 해당 위치로 이동할 수 있습니다. `leader`는 설정이 가능하며 기본적으로`\` 입니다.

-| Motion 명령어                      | 설명                                                                                                 |
+| Motion 명령어                       | 설명                                                                                                        |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `<leader><leader> s <char>`         | Search character                                                                                            |
| `<leader><leader> f <char>`         | Find character forwards                                                                                     |
@@ -450,23 +450,23 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

[surround.vim](https://github.com/tpope/vim-surround)을 기반으로 플러그인은 괄호, 괄호, 따옴표 및 XML 태그와 같은 주변 문자를 처리하는 데 ���용됩니다.

-| 설정      | 설명                 | 타입    | 기본값 |
-| ------------ | --------------------------- | ------- | ------------- |
-| vim.surround | Enable/disable vim-surround | Boolean | true          |
+| 설정         | 설명                        | 타입    | 기본값 |
+| ------------ | --------------------------- | ------- | ------ |
+| vim.surround | Enable/disable vim-surround | Boolean | true   |

`<desired char>`또는`<existing char>`로`t` 또는`<`는 태그를 수행하고 태그 입력 모드로 들어갑니다. `>`대신`<CR>`을 사용하여 태그 변경을 마치면 기존 속성이 유지됩니다.

-| Surround Command                     | 설명                                                           |
+| Surround Command                     | 설명                                                                  |
| ------------------------------------ | --------------------------------------------------------------------- |
-| `d s <existing char>`                | 기존 서라운드 삭제                                              |
+| `d s <existing char>`                | 기존 서라운드 삭제                                                    |
| `c s <existing char> <desired char>` | Change surround existing to desired                                   |
| `y s <motion> <desired char>`        | Surround something with something using motion (as in "you surround") |
| `S <desired char>`                   | Surround when in visual modes (surrounds full selection)              |

몇가지 예:

-- ` 'test'`로 끝나기 위해 인용 부호 안에 cs를 입력 한`'test'`
-- `test``로 끝나는 인용 부호 ds 안에 커서가있는 "test"`
+- `'test'`로 끝나기 위해 인용 부호 안에 cs를 입력 한`'test'`
+- ` test``로 끝나는 인용 부호 ds 안에 커서가있는 "test" `
- `"test"` with cursor inside quotes type cs"t and enter 123> to end up with `<123>test</123>`
- 단어 테스트 유형 ysaw에 커서가있는`test`는`(test)`로 끝납니다.

@@ -480,11 +480,12 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하
- `gC`-블록 주석 토글. 예를 들어`gCi)`는 괄호 안의 모든 것을 주석 처리합니다.

### vim-indent-object
+
[vim-indent-object](https://github.com/michaeljsmith/vim-indent-object)를 기반으로하여 현재 들여 쓰기 수준의 코드 블록을 텍스트 객체로 처리 할 수 있습니다. 문장 주위에 중괄호를 사용하지 않는 언어 (예 : Python)에서 유용합니다.

여는 중괄호 / 태그 사이에 새로운 줄이 있다면, 그것은 무시할 수있는`cib` /`ci {`/`ci [`/`cit`로 간주 될 수 있습니다.

-| 명령어        | 설명                                                                                          |
+| 명령어         | 설명                                                                                                 |
| -------------- | ---------------------------------------------------------------------------------------------------- |
| `<operator>ii` | This indentation level                                                                               |
| `<operator>ai` | This indentation level and the line above (think `if` statements in Python)                          |
@@ -494,14 +495,14 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

[vim-sneak](https://github.com/justinmk/vim-sneak)를 기반으로 두 문자로 지정된 위치로 이동할 수 있습니다.

-| 환경                            | 설명                                                 | 타입    | 기본 값 |
-| ---------------------------------- | ----------------------------------------------------------- | ------- | ------------- |
-| vim.sneak                          | Enable/disable vim-sneak                                    | Boolean | false         |
-| vim.sneakUseIgnorecaseAndSmartcase | Respect `vim.ignorecase` and `vim.smartcase` while sneaking | Boolean | false         |
+| 환경                               | 설명                                                        | 타입    | 기본 값 |
+| ---------------------------------- | ----------------------------------------------------------- | ------- | ------- |
+| vim.sneak                          | Enable/disable vim-sneak                                    | Boolean | false   |
+| vim.sneakUseIgnorecaseAndSmartcase | Respect `vim.ignorecase` and `vim.smartcase` while sneaking | Boolean | false   |

몰래 활성화되면 다음 명령을 사용하여 모션을 시작하십시오. 연산자 sneak은`s` 대신`z`를 사용합니다. `s`는 이미 서라운드 플러그인에 의해 사용되기 때문입니다.

-| Motion 명령            | 설명                                                             |
+| Motion 명령               | 설명                                                                    |
| ------------------------- | ----------------------------------------------------------------------- |
| `s<char><char>`           | Move forward to the first occurrence of `<char><char>`                  |
| `S<char><char>`           | Move backward to the first occurrence of `<char><char>`                 |
@@ -510,15 +511,15 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

### CamelCaseMotion

-정확한 에뮬레이션은 아니지만  [CamelCaseMotion](https://github.com/bkad/CamelCaseMotion)을 기반으로합니다. 이 플러그인은 camelCase 및 snake_case 단어를 쉽게 이동할 수있는 방법을 제공합니다.
+정확한 에뮬레이션은 아니지만 [CamelCaseMotion](https://github.com/bkad/CamelCaseMotion)을 기반으로합니다. 이 플러그인은 camelCase 및 snake_case 단어를 쉽게 이동할 수있는 방법을 제공합니다.

-| 환경                    | 설명                    | 타입    | 기본 값 |
-| -------------------------- | ------------------------------ | ------- | ------------- |
-| vim.camelCaseMotion.enable | Enable/disable CamelCaseMotion | Boolean | false         |
+| 환경                       | 설명                           | 타입    | 기본 값 |
+| -------------------------- | ------------------------------ | ------- | ------- |
+| vim.camelCaseMotion.enable | Enable/disable CamelCaseMotion | Boolean | false   |

CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.

-| Motion 명령어         | 설명                                                                |
+| Motion 명령어          | 설명                                                                       |
| ---------------------- | -------------------------------------------------------------------------- |
| `<leader>w`            | Move forward to the start of the next camelCase or snake_case word segment |
| `<leader>e`            | Move forward to the next end of a camelCase or snake_case word segment     |
@@ -531,7 +532,7 @@ CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.

삽입 모드를 종료 할 때 입력 방법을 비활성화하십시오.

-| 환경                                 | 설명                                                                                      |
+| 환경                                    | 설명                                                                                             |
| --------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `vim.autoSwitchInputMethod.enable`      | Boolean denoting whether autoSwitchInputMethod is on/off.                                        |
| `vim.autoSwitchInputMethod.defaultIM`   | Default input method.                                                                            |
@@ -541,68 +542,67 @@ CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.
모든 타사 프로그램을 사용하여 입력 방법을 전환 할 수 있습니다. 다음은 [im-select](https://github.com/daipeihust/im-select)를 사용하여 구성을 안내합니다..

1. im-select 설치하기 (참조 [installation guide](https://github.com/daipeihust/im-select#installation))
-1.  기본 입력 방법 키 찾기
+1. 기본 입력 방법 키 찾기

-    - Mac:
+   - Mac:

-      입력 방법을 영어로 전환하고 터미널에서 `/<path-to-im-select-installation>/im-select` 를 실행하여 기본 입력 방법을 출력하십시오. 아래 표에는 MacOS의 일반적인 영어 키 레이아웃이 나와 있습니다.
+     입력 방법을 영어로 전환하고 터미널에서 `/<path-to-im-select-installation>/im-select` 를 실행하여 기본 입력 방법을 출력하십시오. 아래 표에는 MacOS의 일반적인 영어 키 레이아웃이 나와 있습니다.

-      | Key                            | 설명 |
-      | ------------------------------ | ----------- |
-      | com.apple.keylayout.US         | U.S.        |
-      | com.apple.keylayout.ABC        | ABC         |
-      | com.apple.keylayout.British    | British     |
-      | com.apple.keylayout.Irish      | Irish       |
-      | com.apple.keylayout.Australian | Australian  |
-      | com.apple.keylayout.Dvorak     | Dvorak      |
-      | com.apple.keylayout.Colemak    | Colemak     |
+     | Key                            | 설명       |
+     | ------------------------------ | ---------- |
+     | com.apple.keylayout.US         | U.S.       |
+     | com.apple.keylayout.ABC        | ABC        |
+     | com.apple.keylayout.British    | British    |
+     | com.apple.keylayout.Irish      | Irish      |
+     | com.apple.keylayout.Australian | Australian |
+     | com.apple.keylayout.Dvorak     | Dvorak     |
+     | com.apple.keylayout.Colemak    | Colemak    |

-    - Windows:
+   - Windows:

-      입력 방법 키를 검색하는 방법은[im-select guide](https://github.com/daipeihust/im-select#to-get-current-keyboard-locale) 안내서를 참조하십시오.  일반적으로 키보드 레이아웃이 en_US 인 경우 입력 방법 키는 1033 (en_US의 로캘 ID)입니다. `LCID Decimal`열이 로컬 ID인 [이 페이지](https://www.science.co.il/language/Locale-codes.php)에서 로컬 ID를 찾을 수도 있습니다.
+     입력 방법 키를 검색하는 방법은[im-select guide](https://github.com/daipeihust/im-select#to-get-current-keyboard-locale) 안내서를 참조하십시오. 일반적으로 키보드 레이아웃이 en_US 인 경우 입력 방법 키는 1033 (en_US의 로캘 ID)입니다. `LCID Decimal`열이 로컬 ID인 [이 페이지](https://www.science.co.il/language/Locale-codes.php)에서 로컬 ID를 찾을 수도 있습니다.

-1.  Configure `vim.autoSwitchInputMethod`.
+1. Configure `vim.autoSwitchInputMethod`.

-    - MacOS:
+   - MacOS:

-       `com.apple.keylayout.US` 과 `im-select` 은  `/usr/local/bin`에 있다. 구성은 다음과 같다.:
+     `com.apple.keylayout.US` 과 `im-select` 은 `/usr/local/bin`에 있다. 구성은 다음과 같다.:

-      ```json
-      "vim.autoSwitchInputMethod.enable": true,
-      "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US",
-      "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
-      "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
-      ```
+     ```json
+     "vim.autoSwitchInputMethod.enable": true,
+     "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US",
+     "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
+     "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
+     ```

-    - Windows:
+   - Windows:

-       `1033`  (en_US)과 `im-select.exe` 의 입력 방법 키는`D:/bin`에 있습니다. 구성은 다음과 같습니다:
+     `1033` (en_US)과 `im-select.exe` 의 입력 방법 키는`D:/bin`에 있습니다. 구성은 다음과 같습니다:

-      ```json
-      "vim.autoSwitchInputMethod.enable": true,
-      "vim.autoSwitchInputMethod.defaultIM": "1033",
-      "vim.autoSwitchInputMethod.obtainIMCmd": "D:\\bin\\im-select.exe",
-      "vim.autoSwitchInputMethod.switchIMCmd": "D:\\bin\\im-select.exe {im}"
-      ```
+     ```json
+     "vim.autoSwitchInputMethod.enable": true,
+     "vim.autoSwitchInputMethod.defaultIM": "1033",
+     "vim.autoSwitchInputMethod.obtainIMCmd": "D:\\bin\\im-select.exe",
+     "vim.autoSwitchInputMethod.switchIMCmd": "D:\\bin\\im-select.exe {im}"
+     ```

위의`{im}`인수는 입력 방법을 나타내는 `im-select` 에 전달되는 명령 행 옵션입니다. 대체 프로그램을 사용하여 입력 방법을 전환하는 경우 유사한 옵션을 구성에 추가해야합니다. 예를 들어, 입력 방법을 전환하기 위해 프로그램의 사용법이`my-program -s imKey` 인 경우,`vim.autoSwitchInputMethod.switchIMCmd` 는 `/path/to/my-program -s {im}`이어야합니다.

-
### ReplaceWithRegister

- [ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister)를 기반으로 기존 텍스트를 레지스터의 내용으로 쉽게 바꿀 수 있습니다.
+[ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister)를 기반으로 기존 텍스트를 레지스터의 내용으로 쉽게 바꿀 수 있습니다.

-| 환경                 | 설명                        | 타입    | 기본 값 |
-| ----------------------- | ---------------------------------- | ------- | ------------- |
-| vim.replaceWithRegister | Enable/disable ReplaceWithRegister | Boolean | false         |
+| 환경                    | 설명                               | 타입    | 기본 값 |
+| ----------------------- | ---------------------------------- | ------- | ------- |
+| vim.replaceWithRegister | Enable/disable ReplaceWithRegister | Boolean | false   |

-활성화되면`gr`  (예 : "go replace")을 입력 한 다음 레지스터 내용으로 대체하려는 텍스트를 설명하는 동작을 입력하십시오.
+활성화되면`gr` (예 : "go replace")을 입력 한 다음 레지스터 내용으로 대체하려는 텍스트를 설명하는 동작을 입력하십시오.

-| Motion 명령어          | 설명                                                                             |
-| ----------------------- | --------------------------------------------------------------------------------------- |
-| `[count]["a]gr<motion>` |모션에 설명 된 텍스트를 지정된 레지스터의 내용으로 바꿉니다.   |
-| `[count]["a]grr`        |  \[count\] 줄 또는 현재 줄을 지정된 레지스터의 내용으로 바꿉니다.|
-| `{Visual}["a]gr`        | 선택한 레지스터를 지정된 레지스터의 내용으로 바꿉니다.       |
+| Motion 명령어           | 설명                                                             |
+| ----------------------- | ---------------------------------------------------------------- |
+| `[count]["a]gr<motion>` | 모션에 설명 된 텍스트를 지정된 레지스터의 내용으로 바꿉니다.     |
+| `[count]["a]grr`        | \[count\] 줄 또는 현재 줄을 지정된 레지스터의 내용으로 바꿉니다. |
+| `{Visual}["a]gr`        | 선택한 레지스터를 지정된 레지스터의 내용으로 바꿉니다.           |

## 🎩 VSCodeVim 트릭!

@@ -628,35 +628,35 @@ VSCode에는 멋진 트릭이 많이 있으며 그 중 일부를 보존하려고

  당신은 Mac유저 입니까? [mac-setup](#mac) 지침을 살펴 보셨습니까?

--  `<esc>`로 닫을 수없는 성가신 정보 / 알림 / 팝업이 있습니다! ! 그리고 나는 단편적인 지식 밖에 없어 좀 더 알고 싶습니다.
+- `<esc>`로 닫을 수없는 성가신 정보 / 알림 / 팝업이 있습니다! ! 그리고 나는 단편적인 지식 밖에 없어 좀 더 알고 싶습니다.

-  `shift+<esc>` 를 눌러 모든 상자를 닫으십���오.
+`shift+<esc>` 를 눌러 모든 상자를 닫으십시오.

- Zen 모드 또는 상태 표시 줄이 비활성화 된 경우 명령 줄을 사용하려면 어떻게해야합니까?

-   이 확장 기능은 재 맵핑 가능한 명령을 표시하여 vscode 스타일의 빠른 선택, 제한된 기능 버전의 명령 줄을 보여줍니다. VS 코드의 keybindings.json 설정 파일에서 다음과 같이 다시 매핑 할 수 있습니다.
+이 확장 기능은 재 맵핑 가능한 명령을 표시하여 vscode 스타일의 빠른 선택, 제한된 기능 버전의 명령 줄을 보여줍니다. VS 코드의 keybindings.json 설정 파일에서 다음과 같이 다시 매핑 할 수 있습니다.

-  ```json
-  {
-    "key": "shift+;",
-    "command": "vim.showQuickpickCmdLine",
-    "when": "editorTextFocus && vim.mode != 'Insert'"
-  }
-  ```
+```json
+{
+  "key": "shift+;",
+  "command": "vim.showQuickpickCmdLine",
+  "when": "editorTextFocus && vim.mode != 'Insert'"
+}
+```

-  Or for Zen mode only:
+Or for Zen mode only:

-  ```json
-  {
-    "key": "shift+;",
-    "command": "vim.showQuickpickCmdLine",
-    "when": "inZenMode && vim.mode != 'Insert'"
-  }
-  ```
+```json
+{
+  "key": "shift+;",
+  "command": "vim.showQuickpickCmdLine",
+  "when": "inZenMode && vim.mode != 'Insert'"
+}
+```

- 단어 줄 바꿈을 사용하여 각 표시 줄에서 커서를 어떻게 이동합니까?

-  단어 줄 바꿈이 있고<kbd>j</kbd>, <kbd>k</kbd>, <kbd>↓</kbd> 또는 <kbd>↑</kbd>를 사용할 때 커서가 줄 바꿈 된 각 줄에 들어가도록하려면  keybindings.json 설정 파일에서 다음을 설정하십시오.
+  단어 줄 바꿈이 있고<kbd>j</kbd>, <kbd>k</kbd>, <kbd>↓</kbd> 또는 <kbd>↑</kbd>를 사용할 때 커서가 줄 바꿈 된 각 줄에 들어가도록하려면 keybindings.json 설정 파일에서 다음을 설정하십시오.

  <!-- prettier-ignore -->
  ```json
diff --git a/Korea/STYLE.md b/Korea/STYLE.md
index 8e359a6..8ff950d 100644
--- a/Korea/STYLE.md
+++ b/Korea/STYLE.md
@@ -17,7 +17,7 @@
- `const`를 사용할 수 없다면, `let`을 사용하십시오; 절대 `var`은 안됩니다.

  **이론적 근거:** `var`은 많은 경우 프로그래머를 trips합니다 - hoisting and closure capture는 두 가지 큰 요소입니다.
-차이점을 고려하십시오.
+  차이점을 고려하십시오.

for (var j = 0; j < 5; j++) { setTimeout(() => console.log(j), 5) }
diff --git a/ROADMAP.md b/ROADMAP.md
index a7bb6ea..aaec352 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -18,24 +18,24 @@

이들은 Vim의 큰 기능으로, 일반적���로 구현할 순서대로되어 있습니다.

- Status Command
- 일반 모드
- 삽입 모드
- 비주얼 모드
- 비주얼 라인 모드
- 숫자 접두사
- . 연산자
- / 과 ? 로 검색
- 실행 취소 / 재실행
- ⚠️ 명령 재 매핑
- ⚠️ 마크
- 텍스트 객체
- 비주얼 블록 모드
- 교체 모드
- 다중 선택 모드
- ⚠️ 매크로
- ⚠️ Buffer/Window/Tab
+ Status Command
+ ------------------ ------------------
+ 일반 모드
+ 삽입 모드
+ 비주얼 모드
+ 비주얼 라인 모드
+ 숫자 접두사
+ . 연산자
+ / 과 ? 로 검색
+ 실행 취소 / 재실행
+ ⚠️ 명령 재 매핑
+ ⚠️ 마크
+ 텍스트 객체
+ 비주얼 블록 모드
+ 교체 모드
+ 다중 선택 모드
+ ⚠️ 매크로
+ ⚠️ Buffer/Window/Tab

이제 우리가 찾을 수있는 모든 알려진 Vim 명령의 전체 목록을 따릅니다.

@@ -46,193 +46,193 @@

좌우 동작

- Status Command Description
- 🔢 h 왼쪽 (또한 CTRL-H, BS 또는 왼쪽 키)
- 🔢 l 오른쪽 (또한 스페이스 또는 오른쪽 키)
- 0 줄의 첫 번째 문자 (또한 Home 키)
- ^ 행의 첫 번��� 공백이 아닌 문자
- 🔢 $ 줄의 마지막 문자 (N-1 줄 아래) (또한 End 키)
- g0 화면 줄의 첫 문자 (줄 바꿈시 "0"과 다름)
- g^ 화면 줄에서 공백이 아닌 첫 문자로 줄 바꾸기 (줄 바꿈시 "^"와 다름)
- 🔢 g$ 화면 줄의 마지막 문자 (줄 바꿈시 "\ $"와 다름)
- gm 화면 라인의 중간
- 🔢 | N 열까지 (기본값 : 1)
- 🔢 f{char} 오른쪽으로 {char}의 N 번째 발생
- 🔢 F{char} 왼쪽으로 {char}의 N 번째 발생
- 🔢 t{char} 오른쪽으로 {char}의 N 번째 발생 전까지
- 🔢 T{char} 왼쪽으로 {char}의 N 번째 발생 전까지
- 🔢 ; 마지막 "f", "F", "t"또는 "T"N 번 반복
- 🔢 , 반대 방향으로 마지막 "f", "F", "t"또는 "T"N 번 반복
+ Status Command Description
+ ------------------ -------------- ------------------------------------------------------------------
+ 🔢 h 왼쪽 (또한 CTRL-H, BS 또는 왼쪽 키)
+ 🔢 l 오른쪽 (또한 스페이스 또는 오른쪽 키)
+ 0 줄의 첫 번째 문자 (또한 Home 키)
+ ^ 행의 첫 번째 공백이 아닌 문자
+ 🔢 $ 줄의 마지막 문자 (N-1 줄 아래) (또한 End 키)
+ g0 화면 줄의 첫 문자 (줄 바꿈시 "0"과 다름)
+ g^ 화면 줄에서 공백이 아닌 첫 문자로 줄 바꾸기 (줄 바꿈시 "^"와 다름)
+ 🔢 g$ 화면 줄의 마지막 문자 (줄 바꿈시 "\ $"와 다름)
+ gm 화면 라인의 중간
+ 🔢 | N 열까지 (기본값 : 1)
+ 🔢 f{char} 오른쪽으로 {char}의 N 번째 발생
+ 🔢 F{char} 왼쪽으로 {char}의 N 번째 발생
+ 🔢 t{char} 오른쪽으로 {char}의 N 번째 발생 전까지
+ 🔢 T{char} 왼쪽으로 {char}의 N 번째 발생 전까지
+ 🔢 ; 마지막 "f", "F", "t"또는 "T"N 번 반복
+ 🔢 , 반대 방향으로 마지막 "f", "F", "t"또는 "T"N 번 반복

상하 동작

- Status Command Description
- 🔢 k N 줄 위로 (CTRL-P 및 Up)
- 🔢 j N 줄 아래로 (또한 CTRL-J, CTRL-N, NL 및 Down)
- 🔢 - 공백이 아닌 첫 번째 문자에서 N 줄 위로
- 🔢 + 공백이 아닌 첫 번째 문자에서 N 줄 아래로 (CTRL-M 및 CR)
- 🔢 _ 공백이 아닌 첫 번째 문자에서 N-1 줄 아래로
- 🔢 G 공백이 아닌 첫 번째 문자에서 goto 행 N (기본값 : 마지막 행)
- 🔢 gg 공백이 아닌 첫 번째 문자의 goto 행 N (기본값 : 첫 번째 행)
- 🔢 % 파일에서 N 줄 아래로 이동; N을 지정해야합니다. 그렇지 않으면 % 명령입니다.
- 🔢 gk N 화면 줄 위로 (줄 바꿈시 "k"와 다름)
- 🔢 gj N 화면 줄 아래로 (줄 바꿈시 "j"와 다름)
+ Status Command Description
+ ------------------ --------- --------------------------------------------------------------------------
+ 🔢 k N 줄 위로 (CTRL-P 및 Up)
+ 🔢 j N 줄 아래로 (또한 CTRL-J, CTRL-N, NL 및 Down)
+ 🔢 - 공백이 아닌 첫 번째 문자에서 N 줄 위로
+ 🔢 + 공백이 아닌 첫 번째 문자에서 N 줄 아래로 (CTRL-M 및 CR)
+ 🔢 _ 공백이 아닌 첫 번째 문자에서 N-1 줄 아래로
+ 🔢 G 공백이 아닌 첫 번째 문자에서 goto 행 N (기본값 : 마지막 행)
+ 🔢 gg 공백이 아닌 첫 번째 문자의 goto 행 N (기본값 : 첫 번째 행)
+ 🔢 % 파일에서 N 줄 아래로 이동; N을 지정해야합니다. 그렇지 않으면 % 명령입니다.
+ 🔢 gk N 화면 줄 위로 (줄 바꿈시 "k"와 다름)
+ 🔢 gj N 화면 줄 아래로 (줄 바꿈시 "j"와 다름)

텍스트 객체 동작

- Status Command Description
- 🔢 w 앞으로 N 단어
- 🔢 W 공백으로 분리 된 N 개의 단어 앞으로
- 🔢 e N 번째 단어의 끝까지 N 단어
- 🔢 E 공백으로 분리 된 N 번째 단어의 끝으로 N 단어 앞으로
- 🔢 b 뒤로 N 단어
- 🔢 B 공백으로 분리 된 N개의 단어 뒤로
- 🔢 ge N번째 단어의 끝까지 N단어
- 🔢 gE 공백으로 분리 된 N 번째 단어의 끝까지 N 단어
- 🔢 ) 앞으로 N 문장
- 🔢 ( 뒤로 N 문장
- 🔢 } 앞으로 N 단락
- 🔢 { 뒤로 N 단락
- 🔢 ]] 섹션 시작시 N 섹션 앞으로
- 🔢 [[ 섹션 시작시 뒤로 N 섹션
- 🔢 ][ 섹션 끝에서 N 섹션 앞으로
- 🔢 [] 섹션 끝에서 뒤로 N 섹션
- 🔢 [( 닫히지 않은 '('로 N 번
- 🔢 [{ 닫히지 않은 '{'로 N 번
- ⬇️ 🔢 [m 메소드 시작으로 다시 N 번 (Java의 경우)
- ⬇️ 🔢 [M 메소드의 끝까지 N 번 (Java의 경우)
- 🔢 ]) 닫히지 않은 ')'까지 N 번 전달
- 🔢 ]} 닫히지 않은 '}'까지 N 번 전달
- ⬇️ 🔢 ]m 메소드 시작까지 N 배 앞으로 (Java의 경우)
- ⬇️ 🔢 ]M 메소드의 끝까지 N 배 앞으로 (Java의 경우)
- ⬇️ 🔢 [# 닫히지 않은 "#if"또는 "#else"로 다시 N 번
- ⬇️ 🔢 ]# 닫히지 않은 "#else"또는 "#endif"로 N 번 전달
- ⬇️ 🔢 [* C 주석 "/ *"의 시작으로 다시 N 번
- ⬇️ 🔢 ]* C 주석 "* /"의 끝까지 N 배 앞으로
+ Status Command Description
+ ------------------ ---------- ---------------------------------------------------
+ 🔢 w 앞으로 N 단어
+ 🔢 W 공백으로 분리 된 N 개의 단어 앞으로
+ 🔢 e N 번째 단어의 끝까지 N 단어
+ 🔢 E 공백으로 분리 된 N 번째 단어의 끝으로 N 단어 앞으로
+ 🔢 b 뒤로 N 단어
+ 🔢 B 공백으로 분리 된 N개의 단어 뒤로
+ 🔢 ge N번째 단어의 끝까지 N단어
+ 🔢 gE 공백으로 분리 된 N 번째 단어의 끝까지 N 단어
+ 🔢 ) 앞으로 N 문장
+ 🔢 ( 뒤로 N 문장
+ 🔢 } 앞으로 N 단락
+ 🔢 { 뒤로 N 단락
+ 🔢 ]] 섹션 시작시 N 섹션 앞으로
+ 🔢 [[ 섹션 시작시 뒤로 N 섹션
+ 🔢 ][ 섹션 끝에서 N 섹션 앞으로
+ 🔢 [] 섹션 끝에서 뒤로 N 섹션
+ 🔢 [( 닫히지 않은 '('로 N 번
+ 🔢 [{ 닫히지 않은 '{'로 N 번
+ ⬇️ 🔢 [m 메소드 시작으로 다시 N 번 (Java의 경우)
+ ⬇️ 🔢 [M 메소드의 끝까지 N 번 (Java의 경우)
+ 🔢 ]) 닫히지 않은 ')'까지 N 번 전달
+ 🔢 ]} 닫히지 않은 '}'까지 N 번 전달
+ ⬇️ 🔢 ]m 메소드 시작까지 N 배 앞으로 (Java의 경우)
+ ⬇️ 🔢 ]M 메소드의 끝까지 N 배 앞으로 (Java의 경우)
+ ⬇️ 🔢 [# 닫히지 않은 "#if"또는 "#else"로 다시 N 번
+ ⬇️ 🔢 ]# 닫히지 않은 "#else"또는 "#endif"로 N 번 전달
+ ⬇️ 🔢 [* C 주석 "/ *"의 시작으로 다시 N 번
+ ⬇️ 🔢 ]* C 주석 "* /"의 끝까지 N 배 앞으로

패턴 검색

- Status Command Description Note
- ✅ ⭐ 🔢 /{pattern}[/[offset]]<CR> {pattern}의 N 번째 발생을 검색 현재는 JavaScript 정규식 만 지원하지만 Vim의 사내 정규식 엔진은 지원하지 않습니다.
- ✅ ⭐ 🔢 ?{pattern}[?[offset]]<CR> {pattern}의 N 번째 발생을 뒤로 검색 현재는 JavaScript 정규식 만 지원하지만 Vim의 사내 정규식 엔진은 지원하지 않습니다.
- ⚠️ 🔢 /<CR> 정방향으로 마지막 검색 반복 {count}는 지원되지 않습니다.
- ⚠️ 🔢 ?<CR> 역방향으로 마지막 검색 반복 {count}는 지원되지 않습니다.
- 🔢 n 마지막 검색 반복
- 🔢 N 반대 방향으로 마지막 검색 반복
- 🔢 * 커서 아래에서 식별자를 검색
- 🔢 # 커서 아래에서 식별자를 뒤로 검색
- 🔢 g* "*"와 비슷하지만 부분 일치도 찾습니다
- 🔢 g# "#"과 같지만 부분 일치 항목도 찾습니다.
- gd 커서 아래 식별자의 로컬 선언으로 이동
- ⬇️ gD 커서 아래에 식별자의 goto 글로벌 선언

-## 마크와

- Status Command Description
- m{a-zA-Z} {a-zA-Z} 표시로 현재 위치 표시
- `{a-z} 현재 파일에서 {a-z}로 이동
- `{A-Z} 모든 파일에서 {A-Z}로 이동
- `{0-9} Vim이 이전에 나간 위치로 이동
- `` 마지막 점프 전 위치로 이동
- ⬇️ `" 이 파일을 마지막으로 편집 할 때 위치로 이동
- `[ 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- '[ 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- `] 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- '] 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- ⬇️ `< (이전) 시각 영역의 시작으로 이동
- ⬇️ `> (이전) 시각 영역의 끝으로 이동
- `. 이 파일에서 마지막 변경 위치로 이동
- '. 이 파일에서 마지막 변경 위치로 이동
- ⬇️ '{a-zA-Z0-9[]'"<>.} `와 동일하지만 첫 번째 공백이 아닌 행
- ⬇️ :marks 활성마크를 인쇄
- 🔢 CTRL-O 점프 목록에서 N 번째 이전 위치로 이동
- 🔢 CTRL-I 점프 목록에서 N 번쨰 새로운 위치로 이동
- ⬇️ :ju[mps] 점프리스트를 인쇄
+ Status Command Description
+ ------------------------- ---------------------------------- ---------------------------------------
+ ✅ ⭐ 🔢 /{pattern}[/[offset]]<CR> {pattern}의 N 번째 발생을 검색
+ ✅ ⭐ 🔢 ?{pattern}[?[offset]]<CR> {pattern}의 N 번째 발생을 뒤로 검색
+ ⚠️ 🔢 /<CR> 정방향으로 마지막 검색 반복
+ ⚠️ 🔢 ?<CR> 역방향으로 마지막 검색 반복
+ 🔢 n 마지막 검색 반복
+ 🔢 N 반대 방향으로 마지막 검색 반복
+ 🔢 * 커서 아래에서 식별자를 검색
+ 🔢 # 커서 아래에서 식별자를 뒤로 검색
+ 🔢 g* "*"와 비슷하지만 부분 일치도 찾습니다
+ 🔢 g# "#"과 같지만 부분 일치 항목도 찾습니다.
+ gd 커서 아래 식별자의 로컬 선언으로 이동
+ ⬇️ gD 커서 아래에 식별자의 goto 글로벌 선언

+## 마크와
+
+| Status | Command | Description |
+| ------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------- |
+| ✅ | m{a-zA-Z} | {a-zA-Z} 표시로 현재 위치 표시 |
+| ✅ | {a-z} | 현재 파일에서 {a-z}로 이동 | +| :white_check_mark: | {A-Z} | 모든 파일에서 {A-Z}로 이동 |
+| ✅ | {0-9} | Vim이 이전에 나간 위치로 이동 | +| :white_check_mark: | `` | 마지막 점프 전 위치로 이동 | +| :arrow_down: | " | 이 파일을 마지막으로 편집 할 때 위치로 이동 |
+| ✅ | [ | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 | +| :white_check_mark: | '[ | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 | +| :white_check_mark: | ] | 이전에 운영 한 텍스트��� 시작으로 이동하거나 텍스트를 넣습니다 |
+| ✅ | '] | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 |
+| ⬇️ | < | (이전) 시각 영역의 시작으로 이동 | +| :arrow_down: | > | (이전) 시각 영역의 끝으로 이동 |
+| ✅ | . | 이 파일에서 마지막 변경 위치로 이동 | +| :white_check_mark: | '. | 이 파일에서 마지막 변경 위치로 이동 | +| :arrow_down: | '{a-zA-Z0-9[]'"<>.} | 와 동일하지만 첫 번째 공백이 아닌 행 |
+| ⬇️ | :marks | 활성마크를 인쇄 |
+| ✅ | 🔢 CTRL-O | 점프 목록에서 N 번째 이전 위치로 이동 |
+| ✅ | 🔢 CTRL-I | 점프 목록에서 N 번쨰 새로운 위치로 이동 |
+| ⬇️ | :ju[mps] | 점프리스트를 인쇄 |

다양한 동작

- Status Command Description
- % 이 줄에서 다음 중괄호, 대괄호, 주석 또는 "#if"/ "#else"/ "# endif"를 찾아서 해당 행으로 이동하십시오.
+ Status Command Description
+ ------------------ ------------------- -----------------------------------------------------------------------------------------------------
+ % 이 줄에서 다음 중괄호, 대괄호, 주석 또는 "#if"/ "#else"/ "# endif"를 찾아서 해당 행으로 이동하십시오.
🔢 H 공백이 아닌 첫 번째 창에서 N 번째 줄로 이동
M 공백이 아닌 첫 번째 창에서 가운데 줄로 이동
🔢 L 첫 번째 공백이 아닌 바닥에서 N 번째 줄로 이동
- ⬇️ 🔢 go 버퍼의 N 번째 바이트로 이동
- ⬇️ :[range]go[to][off] 버퍼의 [off] 바이트로 이동
+ ⬇️ 🔢 go 버퍼의 N 번째 바이트로 이동
+ ⬇️ :[range]go[to][off] 버퍼의 [off] 바이트로 이동

태그 사용

VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순위가 낮습니다. 아직 명령 팔레트에서 사용해보십시오!

- Status Command Description
- ⬇️ :ta[g][!] {tag} 태그 {tag}로 이동
- ⬇️ :[count]ta[g][!] 태그 목록에서 [count] '번째 최신 태그로 이동
- ⬇️ CTRL-] 변경 사항이 없으면 커서 아래의 태그로 이동
- ⬇️ :ts[elect][!] [tag] 일치하는 태그를 나열하고 이동할 태그를 선택하십시오.
- ⬇️ :tj[ump][!] [tag] 일치하는 태그가 여러 개인 경우 [tag] 태그로 이동하거나 목록에서 선택하십시오.
- ⬇️ :lt[ag][!] [tag] [tag] 태그로 이동하여 위치 목록에 일치하는 태그 추가 인쇄 태그 목록
- ⬇️ :tagsa 인쇄 태그 목록
- ⬇️ 🔢 CTRL-T 태그 목록에서 N 번째 오래된 태그에서 뒤로 이동
- ⬇️ :[count]po[p][!] 태그 목록에서 [count] 번째 오래된 태그에서 뒤로 이동
- ⬇️ :[count]tn[ext][!] 다음으로 일치하는 [count] 번째 태그로 이동
- ⬇️ :[count]tp[revious][!] 이전 일치하는 [count] 번째 태그로 이동
- ⬇️ :[count]tr[ewind][!] 일치하는 [count] 번째 태그로 이동
- ⬇️ :tl[ast][!] 마지막으로 일치하는 태그로 이동
- ⬇️ :pt[ag] {tag} {tag} 태그를 표시하기 위해 미리보기 창을 엽니 다.
- ⬇️ CTRL-W } CTRL-]와 유사하지만 미리보기 창에 태그 표시
- ⬇️ :pts[elect] ": tselect"와 같지만 미리보기 창에 태그 표시
- ⬇️ :ptj[ump] ": tjump"와 같지만 미리보기 창에 태그 표시
- ⬇️ :pc[lose] 태그 미리보기 창 닫기
- ⬇️ CTRL-W z 태그 미리보기 창 닫기`
+ Status Command Description
+ ------------ ---------------------- -----------------------------------------------------------------------------
+ ⬇️ :ta[g][!] {tag} 태그 {tag}로 이동
+ ⬇️ :[count]ta[g][!] 태그 목록에서 [count] '번째 최신 태그로 이동
+ ⬇️ CTRL-] 변경 사항이 없으면 커서 아래의 태그로 이동
+ ⬇️ :ts[elect][!] [tag] 일치하는 태그를 나열하고 이동할 태그를 선택하십시오.
+ ⬇️ :tj[ump][!] [tag] 일치하는 태그가 여러 개인 경우 [tag] 태그로 이동하거나 목록에서 선택하십시오.
+ ⬇️ :lt[ag][!] [tag] [tag] 태그로 이동하여 위치 목록에 일치하는 태그 추가 인쇄 태그 목록
+ ⬇️ :tagsa 인쇄 태그 목록
+ ⬇️ 🔢 CTRL-T 태그 목록에서 N 번째 오래된 태그에서 뒤로 이동
+ ⬇️ :[count]po[p][!] 태그 목록에서 [count] 번째 오래된 태그에서 뒤로 이동
+ ⬇️ :[count]tn[ext][!] 다음으로 일치하는 [count] 번째 태그로 이동
+ ⬇️ :[count]tp[revious][!] 이전 일치하는 [count] 번째 태그로 이동
+ ⬇️ :[count]tr[ewind][!] 일치하는 [count] 번째 태그로 이동
+ ⬇️ :tl[ast][!] 마지막으로 일치하는 태그로 이동
+ ⬇️ :pt[ag] {tag} {tag} 태그를 표시하기 위해 미리보기 창을 엽니 다.
+ ⬇️ CTRL-W } CTRL-]와 유사하지만 미리보기 창에 태그 표시
+ ⬇️ :pts[elect] ": tselect"와 같지만 미리보기 창에 태��� 표시
+ ⬇️ :ptj[ump] ": tjump"와 같지만 미리보기 창에 태그 표시
+ ⬇️ :pc[lose] 태그 미리보기 창 닫기
+ ⬇️ CTRL-W z 태그 미리보기 창 닫기`

스크롤

- Status Command Description
- 🔢 CTRL-E window N 줄 아래로 내려갑니다 (기본값: 1)
+ Status Command Description
+ ------------------ ------------- -------------------------------------------------
+ 🔢 CTRL-E window N 줄 아래로 내려갑니다 (기본값: 1)
🔢 CTRL-D window N 줄 아래로 내려갑니다(기본값: 1/2 window)
- 🔢 CTRL-F window N 페이지 앞으로 (아래로)
- 🔢 CTRL-Y window N 줄 위쪽을 향합니다 (기본값: 1)
- 🔢 CTRL-U window N 줄 위쪽을 향합니다 (기본값: 1/2 window)
- 🔢 CTRL-B window N 페이지 뒤로 (위로)
- z CR or zt window 맨 위에있는 현재 행 다시 그리기
- z. or zz window 가운데에 현재 행 다시 그리기
- z- or zb window 맨 아래에 현재 행 다시 그리기
+ 🔢 CTRL-F window N 페이지 앞으로 (아래로)
+ 🔢 CTRL-Y window N 줄 위쪽을 향합니다 (기본값: 1)
+ 🔢 CTRL-U window N 줄 위쪽을 향합니다 (기본값: 1/2 window)
+ 🔢 CTRL-B window N 페이지 뒤로 (위로)
+ z CR or zt window 맨 위에있는 현재 행 다시 그리기
+ z. or zz window 가운데에 현재 행 다시 그리기
+ z- or zb window 맨 아래에 현재 행 다시 그리기

'wrap'이 꺼져있을 때만 작동합니다.

- Status Command Description Note
- ✅ ⭐ 🔢 zh 화면 N 문자를 오른쪽으로 스크롤 코드에서 가로 스크롤 막대의 이동 여부에 관계없이이 명령을 실행할 때 커서는 항상 이동합니다.
- ✅ ⭐ 🔢 zl 화면 N 문자를 왼쪽으로 스크롤 위와 같음
- ✅ ⭐ 🔢 zH 화면 너비를 화면 너비의 오른쪽으로 스크롤 위와 같음
- ✅ ⭐ 🔢 zL 화면 너비를 화면 너비의 왼쪽으로 스크롤 위와 같음
+ Status Command Description Note
+ ------------------------- --------- ----------------------------------------- -------------------------------------------------------------------------------------------
+ ✅ ⭐ 🔢 zh 화면 N 문자를 오른쪽으로 스크롤 코드에서 가로 스크롤 막대의 이동 여부에 관계없이이 명령을 실행할 때 커서는 항상 이동합니다.
+ ✅ ⭐ 🔢 zl 화면 N 문자를 왼쪽으로 스크롤 위와 같음
+ ✅ ⭐ 🔢 zH 화면 너비를 화면 너비의 오른쪽으로 스크롤 위와 같음
+ ✅ ⭐ 🔢 zL 화면 너비를 화면 너비의 왼쪽으로 스크롤 위와 같음

텍스트 삽입

- Status Command Description
- 🔢 a 커서 다음에 텍스트 추가 (N 회)
- 🔢 A 줄의 끝에 텍스트를 추가하십시오 (N 번)
- 🔢 i 커서 앞에 텍스트 삽입 (N 번) (또한 삽입)
- 🔢 I 첫 번째 공백이 아닌 줄 앞에 텍스트를 삽입하십시오 (N 번)
- 🔢 gI 1 열에 텍스트 삽입 (N 회)
- gi 마지막 변경이 끝��� 때 삽입
- 🔢 o 현재 줄 아래에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
- 🔢 O 현재 줄 위에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
+ Status Command Description
+ ------------------ --------- --------------------------------------------------------
+ 🔢 a 커서 다음에 텍스트 추가 (N 회)
+ 🔢 A 줄의 끝에 텍스트를 추가하십시오 (N 번)
+ 🔢 i 커서 앞에 텍스트 삽입 (N 번) (또한 삽입)
+ 🔢 I 첫 번째 공백이 아닌 줄 앞에 텍스트를 삽입하십시오 (N 번)
+ 🔢 gI 1 열에 텍스트 삽입 (N 회)
+ gi 마지막 변경이 끝날 때 삽입
+ 🔢 o 현재 줄 아래에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
+ 🔢 O 현재 줄 위에 새 줄을 열고 텍스트를 추가하십시오 (N 번)

비주얼 블록 모드에서:

- Status Command Description
- I 선택한 모든 줄 앞에 같은 텍스트를 삽입
- A 선택한 모든 줄 다음에 같은 텍스트를 추가하십시오
+ Status Command Description
+ ------------------ ------- ------------------------------------------------
+ I 선택한 모든 줄 앞에 같은 텍스트를 삽입
+ A 선택한 모든 줄 다음에 같은 텍스트를 추가하십시오

모드 키 삽입

@@ -240,73 +240,73 @@ VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순

Status Command Description
- Esc
- CTRL-C
- CTRL-O {command}
+ Esc
+ CTRL-C
+ CTRL-O {command}

이동:

- Status Command Description
- cursor keys 커서를 왼쪽/오른쪽/위/아래로 이동
- shift-left/right 한 단어 왼쪽/오른쪽
- shift-up/down 한 화면 뒤로/앞으로
- End 줄의 마지막 문자 다음에 커서
- Home 줄의 첫 문자에 커서
+ Status Command Description
+ ------------------ ---------------- ---------------------------------
+ cursor keys 커서를 왼쪽/오른쪽/위/아래로 이동
+ shift-left/right 한 단어 왼쪽/오른쪽
+ shift-up/down 한 화면 뒤로/앞으로
+ End 줄의 마지막 문자 다음에 커서
+ Home 줄의 첫 문자에 커서

삽입 모드의 특수 키

- Status Command Description Note
- ⬇️ CTRL-V {char}.. 문자를 문자 그대로 삽입하거나 10 진수 바이트 값을 입력하십시오.
- ⚠️ NL or CR or CTRL-M or CTRL-J 새 줄을 시작하다 CTRL-M 및 CTRL-J는 지원되지 않습니다
- CTRL-E 커서 아래에서 문자를 삽입
- CTRL-Y 커서 위에서 문자를 삽입
- ✅ ⭐ CTRL-A 이전에 삽입 한 텍스트 삽입 이전 삽입 세션에서 작성된 이전 문서 변경 사항을 적용하고 커서 아래에서 발생하는 변경 사항 만 적용합니다
- ✅ ⭐ CTRL-@ 이전에 삽입 한 텍스트 삽입 및 삽입 모드 중지 위와 같음
- CTRL-R {0-9a-z%#:.-="} 레지스터의 내용을 삽입
- CTRL-N 커서 앞에 식별자의 다음 일치를 삽입
- CTRL-P 커서 앞에 식별자의 이전 일치를 삽입
- ⬇️ CTRL-X ... 다양한 방법으로 커서 앞에있는 단어를 완성하십시오
- BS or CTRL-H 커서 앞의 문자를 삭제
- Del 커서 아래의 문자를 삭제
- CTRL-W 커서 앞의 단어를 삭제
- CTRL-U 현재 줄에 입력한 모든 문자를 삭제
- CTRL-T 현재 줄 앞에 한 개의 들여 쓰기 폭을 삽입
- CTRL-D 현재 줄 앞에 들여 쓰기 한 이동 폭 삭제
- ⬇️ 0 CTRL-D 현재 줄의 들여 쓰기를 모두 삭제하십시오.
- ⬇️ ^ CTRL-D 현재 줄에서 들여 쓰기를 모두 삭제하고 다음 줄 들여 쓰기를 복원
+ Status Command Description Note
+ ------------------------- ---------------------------- --------------------------------------------------------------- -------------------------------------------------------------------------------------------------------
+ ⬇️ CTRL-V {char}.. 문자를 문자 그대로 삽입하거나 10 진수 바이트 값을 입력하십시오.
+ ⚠️ NL or CR or CTRL-M or CTRL-J 새 줄을 시작하다 CTRL-M 및 CTRL-J는 지원되지 않습니다
+ CTRL-E 커서 아래에서 문자를 삽입
+ CTRL-Y 커서 위에서 문자를 삽입
+ ✅ ⭐ CTRL-A 이전에 삽입 한 텍스트 삽입 이전 삽입 세션에서 작성된 이전 문서 변경 사항을 적용하고 커서 아래에서 발생하는 변경 사항 만 적용합니다
+ ✅ ⭐ CTRL-@ 이전에 삽입 한 텍스트 삽입 및 삽입 모드 중지 위와 같음
+ CTRL-R {0-9a-z%#:.-="} 레지스터의 내용을 삽입
+ CTRL-N 커서 앞에 식별자의 다음 일치를 삽입
+ CTRL-P 커서 앞에 식별자의 이전 일치를 삽입
+ ⬇️ CTRL-X ... 다양한 방법으로 커서 앞에있는 단어를 완성하십시오
+ BS or CTRL-H 커서 앞의 문자를 삭제
+ Del 커서 아���의 문자를 삭제
+ CTRL-W 커서 앞의 단어를 삭제
+ CTRL-U 현재 줄에 입력한 모든 문자를 삭제
+ CTRL-T 현재 줄 앞에 한 개의 들여 쓰기 폭을 삽입
+ CTRL-D 현재 줄 앞에 들여 쓰기 한 이동 폭 삭제
+ ⬇️ 0 CTRL-D 현재 줄의 들여 쓰기를 모두 삭제하십시오.
+ ⬇️ ^ CTRL-D 현재 줄에서 들여 쓰기를 모두 삭제하고 다음 줄 들여 쓰기를 복원

Di그래프

- Status Command Description
- :dig[raphs] di그래프의 현재 목록 표시
- ⬇️ :dig[raphs] {char1}{char2} {number} ... 목록에 digraph(s) 추가
+ Status Command Description
+ ------------------ --------------------------------------- -------------------------
+ :dig[raphs] di그래프의 현재 목록 표시
+ ⬇️ :dig[raphs] {char1}{char2} {number} ... 목록에 digraph(s) 추가

Special inserts

- Status Command Description
- ⚠️ :r [file] 커서 아래에 [file]의 내용을 삽입하십시오.
- ⚠️ :r! {command} 커서 아래에 {command}의 표준 출력을 삽입하십시오.
+ Status Command Description
+ --------- ------------- -------------------------------------------------
+ ⚠️ :r [file] 커서 아래에 [file]의 내용을 삽입하십시오.
+ ⚠️ :r! {command} 커서 아래에 {command}의 표준 출력을 삽입하십시오.

텍스트 삭제

- Status Command Description
- 🔢 x 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
- 🔢 Del 커서 아��� 및 뒤에 N 문자를 삭제 하십시오.
- 🔢 X 커서 앞의 N 문자를 삭제 하십시오.
- 🔢 d{motion} {motion}으로 이동한 텍스트를 삭제하십시오.
- {visual}d 강조 표시된 텍스트를 삭제
- 🔢 dd N 줄을 삭제
- 🔢 D 줄 끝까지 삭제 (및 N-1 줄 더)
- 🔢 J N-1 라인 가입 (EOL 삭제)
- {visual}J 강조 표시된 라인에 참여
- 🔢 gJ "J"와 같지만 공백을 삽입하지 않음
- {visual}gJ "{visual} J"와 같지만 공백을 삽입하지 않음
- :[range]d [x] [범위] 줄 삭제 [등록 x]
+ Status Command Description
+ ------------------ ---------------- ------------------------------------------
+ 🔢 x 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
+ 🔢 Del 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
+ 🔢 X 커서 앞의 N 문자를 삭제 하십시오.
+ 🔢 d{motion} {motion}으로 이동한 텍스트를 삭제하십시오.
+ {visual}d 강조 표시된 텍스트를 삭제
+ 🔢 dd N 줄을 삭제
+ 🔢 D 줄 끝까지 삭제 (및 N-1 줄 더)
+ 🔢 J N-1 라인 가입 (EOL 삭제)
+ {visual}J 강조 표시된 라인에 참여
+ 🔢 gJ "J"와 같지만 공백을 삽입하지 않음
+ {visual}gJ "{visual} J"와 같지만 공백을 삽입하지 않음
+ :[range]d [x] [범위] 줄 삭제 [등록 x]

텍스트 복사 및 이동

@@ -329,224 +329,224 @@ VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순

텍스트 변경

- Status Command Description Note
- 🔢 r{char} N 문자를 {char}로 바꾸십시오
- ⬇️ 🔢 gr{char} 레이아웃에 영향을주지 않고 N 문자를 교체
- ✅ ⭐ 🔢 R 바꾸기 모드로 들어가십시오 (입력 한 텍스트를 N 번 반복하십시오) {count} is not supported
- ⬇️ 🔢 gR 가상 교체 모드로 전환 : 대체 모드와 유사하지만 레이아웃에 영향을 미치지 않음
- {visual}r{char} 비주얼 블록, 비주얼 또는 비주얼 라인 모드에서 : 선택한 텍스트의 각 문자를 {char}로 바꿉니다.
+ Status Command Description Note
+ ------------------------- --------------- -------------------------------------------------------------------------------------------- ------------------------
+ 🔢 r{char} N 문자를 {char}로 바꾸십시오
+ ⬇️ 🔢 gr{char} 레이아웃에 영향을주지 않고 N 문자를 교체
+ ✅ ⭐ 🔢 R 바꾸기 모드로 들어가십시오 (입력 한 텍스트를 N 번 반복하십시오) {count} is not supported
+ ⬇️ 🔢 gR 가상 교체 모드로 전환 : 대체 모드와 유사하지만 레이아웃에 영향을 미치지 않음
+ {visual}r{char} 비주얼 블록, 비주얼 또는 비주얼 라인 모드에서 : 선택한 텍스트의 각 문자를 {char}로 바꿉니다.

(변경 = 텍스트 삭제 및 삽입 모드 입력)

- Status Command Description
- 🔢 c{motion} {motion}으로 이동 한 텍스트를 변경하십시오.
- {visual}c 강조 표시된 텍스트를 변경
- 🔢 cc N줄 바꾸기
- 🔢 S N줄 바꾸기
- 🔢 C 줄의 끝으로 변경 (및 N-1 더 많은 줄)
- 🔢 s N 문자를 바꾸다
- {visual}c 비주얼 블록 모드에서 : 입력 한 텍스트로 선택한 각 줄을 변경합니다
- {visual}C 비주얼 블록 모드에서 : 입력 한 텍스트로 줄 끝까지 선택된 각 줄을 변경합니다.
- {visual}~ 강조 표시된 텍스트의 경우 전환
- {visual}u 강조 표시된 텍스트를 소문자로 설정
- {visual}U 강조 표시된 텍스트를 대문자로 만듭니다.
- g~{motion} {motion}으로 이동 한 텍스트의 대소 문자 전환
- gu{motion} {motion}으로 옮긴 텍스트를 소문자로 만듭니다.
- gU{motion} {motion}으로 이동 한 텍스트를 대문자로 만듭니다.
- ⬇️ {visual}g? 강조 표시된 텍스트에서 rot13 인코딩 수행
- ⬇️ g?{motion} {motion}으로 이동 한 텍스트에서 rot13 인코딩 수행
- 🔢 CTRL-A 커서 위 또는 뒤에있는 숫자에 N을 더하다
- 🔢 CTRL-X 커서에서 또는 뒤에있는 숫자에서 N을 빼기
- 🔢 <{motion} {motion}으로 이동 한 줄을 한 이동 폭 왼쪽으로 이동
- 🔢 << N 라인을 한 이동 폭만큼 왼쪽으로 이동
- 🔢 >{motion} {motion}으로 이동 한 선을 한 이동 폭만큼 오른쪽으로 이동
- 🔢 >> N 라인을 한 이동 폭만큼 오른쪽으로 이동
- 🔢 gq{motion} {motion}으로 이동 한 행을 'textwidth'길이로 형식화
- ⬇️ :[range]ce[nter][width] [range]에서 선 중심
- ⬇️ :[range]le[ft][indent] [range]에서 줄을 왼쪽 정렬합니다 ([indent] 포함)
- ⬇️ :[ranee]ri[ght][width] [range]에서 선을 오른쪽 정렬합니다
+ Status Command Description
+ ------------------ ----------------------- ----------------------------------------------------------------------------
+ 🔢 c{motion} {motion}으로 이동 한 텍스트를 변경하십시오.
+ {visual}c 강조 표시된 텍스트를 변경
+ 🔢 cc N줄 바꾸기
+ 🔢 S N줄 바꾸기
+ 🔢 C 줄의 끝으로 변경 (및 N-1 더 많은 줄)
+ 🔢 s N 문자를 바꾸다
+ {visual}c 비주얼 블록 모드에서 : 입력 한 텍스트로 선택한 각 줄을 변경합니다
+ {visual}C 비주얼 블록 모드에서 : 입력 한 텍스트로 줄 끝까지 선택된 각 줄을 변경합니다.
+ {visual}~ 강조 표시된 텍스트의 경우 전환
+ {visual}u 강조 표시된 텍스트를 소문자로 설정
+ {visual}U 강조 표시된 텍스트를 대문자로 만듭니다.
+ g~{motion} {motion}으로 이동 한 텍스트의 대소 문자 전환
+ gu{motion} {motion}으로 옮긴 텍스트를 소문자로 만듭니다.
+ gU{motion} {motion}으로 이동 한 텍스트를 대문자로 만듭니다.
+ ⬇️ {visual}g? 강조 표시된 텍���트에서 rot13 인코딩 수행
+ ⬇️ g?{motion} {motion}으로 이동 한 텍스트에서 rot13 인코딩 수행
+ 🔢 CTRL-A 커서 위 또는 뒤에있는 숫자에 N을 더하다
+ 🔢 CTRL-X 커서에서 또는 뒤에있는 숫자에서 N을 빼기
+ 🔢 <{motion} {motion}으로 이동 한 줄을 한 이동 폭 왼쪽으로 이동
+ 🔢 << N 라인을 한 이동 폭만큼 왼쪽으로 이동
+ 🔢 >{motion} {motion}으로 이동 한 선을 한 이동 폭만큼 오른쪽으로 이동
+ 🔢 >> N 라인을 한 이동 폭만큼 오른쪽으로 이동
+ 🔢 gq{motion} {motion}으로 이동 한 행을 'textwidth'길이로 형식화
+ ⬇️ :[range]ce[nter][width] [range]에서 선 중심
+ ⬇️ :[range]le[ft][indent] [range]에서 줄을 왼쪽 정렬합니다 ([indent] 포함)
+ ⬇️ :[ranee]ri[ght][width] [range]에서 선을 오른쪽 정렬합니다

복잡한 변화

- Status Command Description Note
- ⬇️ 🔢 !{motion}{command}<CR> {command}를 통해 이동 한 행을 필터링
- ⬇️ 🔢 !!{command}<CR> {command}를 통해 N 라인 필터링
- ⬇️ {visual}!{command}<CR> {command}를 통해 강조 표시된 줄을 필터링하십시오.
- ⬇️ :[range]! {command}<CR> {command}를 통해 [range] 라인 필터링
- 🔢 ={motion} 'equalprg'를 통해 이동 한 라인을 필터링 through 'equalprg'
- 🔢 == 'equalprg'를 통해 N 라인 필터링
- {visual}= 'equalprg'를 통해 강조 표시된 줄을 필터링하십시오.
- ✅ ⭐ ⚠️ :[range]s[ubstitute]/{pattern}/{string}/[g][c] [range] 행에서 {string}으로 {pattern}을 대체하십시오. [g]로, 모든 {pattern}을 대체하십시오. [c]로 각 교체 확인 현재는 JavaScript 정규식 만 지원하며 gi 옵션 만 구현됩니다.
- ⬇️ :[range]s[ubstitute][g][c] 새로운 범위와 옵션으로 이전 ": s"반복
- ⬇️ & 옵션없이 현재 줄에서 이전 ": s"반복
- ⬇️ :[range]ret[ab][!] [tabstop] 'tabstop'을 새 값으로 설정하고 그에 따라 공백을 조정하십시오.
+ Status Command Description Note
+ ----------------------------------- ---------------------------------------------- -------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------
+ ⬇️ 🔢 !{motion}{command}<CR> {command}를 통해 이동 한 행을 필터링
+ ⬇️ 🔢 !!{command}<CR> {command}를 통해 N 라인 필터링
+ ⬇️ {visual}!{command}<CR> {command}를 통해 강조 표시된 줄을 필터링하십시오.
+ ⬇️ :[range]! {command}<CR> {command}를 통해 [range] 라인 필터링
+ 🔢 ={motion} 'equalprg'를 통해 이동 한 라인을 필터링 through 'equalprg'
+ 🔢 == 'equalprg'를 통해 N 라인 필터링
+ {visual}= 'equalprg'를 통해 강조 표시된 줄을 필터링하십시오.
+ ✅ ⭐ ⚠️ :[range]s[ubstitute]/{pattern}/{string}/[g][c] [range] 행에서 {string}으로 {pattern}을 대체하십시오. [g]로, 모든 {pattern}을 대체하십시오. [c]로 각 교체 확인 현재는 JavaScript 정규식 만 지원하며 gi 옵션 만 구현됩니다.
+ ⬇️ :[range]s[ubstitute][g][c] 새로운 범위와 옵션으로 이전 ": s"반복
+ ⬇️ & 옵션없이 현��� 줄에서 이전 ": s"반복
+ ⬇️ :[range]ret[ab][!] [tabstop] 'tabstop'을 새 값으로 설정하고 그에 따라 공백을 조정하십시오.

비주얼 모드

- Status Command Description
- v 문자 강조 표시 시작 또는 강조 표시 중지
- V 선으로 강조 표시 시작 또는 강조 표시 중지
- CTRL-V 블록 단위로 강조 표시 시작 또는 강조 표시 중지
- o 강조 표시 시작으로 커서 위치 교환
- gv 이전 시각적 영역에서 강조 표시 시작
+ Status Command Description
+ ------------------ ------- ----------------------------------------------
+ v 문자 강조 표시 시작 또는 강조 표시 중지
+ V 선으로 강조 표시 시작 또는 강조 표시 중지
+ CTRL-V 블록 ���위로 강조 표시 시작 또는 강조 표시 중지
+ o 강조 표시 시작으로 커서 위치 교환
+ gv 이전 시각적 영역에서 강조 표시 시작

텍스트 객체 (비주얼 모드에서만 또는 연산자 뒤)

- Status Command Description
- 🔢 aw "a word"를 선택하십시오.
- 🔢 iw "inner word"를 선택하십시오.
- 🔢 aW "a WORD"를 선택하십시오.
- 🔢 iW "inner WORD"를 선택하십시오.
- 🔢 as "a sentence"를 선택하십시오.
- 🔢 is "inner sentence"를 선택하십시오.
- 🔢 ap "a paragraph"를 선택하십시오.
- 🔢 ip "inner paragraph"를 선택하십시오.
- 🔢 a], a[ '[' ']'블록을 선택하십시오
- 🔢 i], i[ 내부 '[' ']'블록을 선택하십시오.
- 🔢 ab, a(, a) "a block"을 선택하십시오. ("[("에서 "])"까지)
- 🔢 ib, i), i( "inner block"을 선택하십시오. ("[("에서 "])"까지)
- 🔢 a>, a< "a <> block"을 선택하십시오.
- 🔢 i>, i< "inner <> block"을 선택하십시오.
- 🔢 aB, a{, a} "a Block"을 선택하십시오. ("[{"에서 "]}"까지)
- 🔢 iB, i{, i} "inner Block"을 ("[{"에서 "]}"까지)
- 🔢 at "a tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
- 🔢 it "inner tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
- 🔢 a' "a single quoted string"을 선택하십시오.
- 🔢 i' "inner single quoted string"을 선택하십시오.
- 🔢 a" "a double quoted string"을 선택하십시오.
- 🔢 i" "inner double quoted string"을 선택하십시오.
- 🔢 a` "a backward quoted string"을 선택하십시오.
- 🔢 i` "inner backward quoted string"을 선택하십시오.
+ Status Command Description
+ ------------------ ---------------------------------------------------------- --------------------------------------------------------------------
+ 🔢 aw "a word"를 선택하십시오.
+ 🔢 iw "inner word"를 선택하십시오.
+ 🔢 aW "a WORD"를 선택하십시오.
+ 🔢 iW "inner WORD"를 선택하십시오.
+ 🔢 as "a sentence"를 선택하십시오.
+ 🔢 is "inner sentence"를 선택하십시오.
+ 🔢 ap "a paragraph"를 선택하십시오.
+ 🔢 ip "inner paragraph"를 선택하십시오.
+ 🔢 a], a[ '[' ']'블록을 선택하십시오
+ 🔢 i], i[ 내부 '[' ']'블록을 선택하십시오.
+ 🔢 ab, a(, a) "a block"을 선택하십���오. ("[("에서 "])"까지)
+ 🔢 ib, i), i( "inner block"을 선택하십시오. ("[("에서 "])"까지)
+ 🔢 a>, a< "a <> block"을 선택하십시오.
+ 🔢 i>, i< "inner <> block"을 선택하십시오.
+ 🔢 aB, a{, a} "a Block"을 선택하십시오. ("[{"에서 "]}"까지)
+ 🔢 iB, i{, i} "inner Block"을 ("[{"에서 "]}"까지)
+ 🔢 at "a tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
+ 🔢 it "inner tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
+ 🔢 a' "a single quoted string"을 선택하십시오.
+ 🔢 i' "inner single quoted string"을 선택하���시오.
+ 🔢 a" "a double quoted string"을 선택하십시오.
+ 🔢 i" "inner double quoted string"을 선택하십시오.
+ 🔢 a` "a backward quoted string"을 선택하십시오.
+ 🔢 i` "inner backward quoted string"을 선택하십시오.

반복 명령

- Status Command Description Note
- ✅ ⭐ 🔢 . 마지막 변경을 반복합니다 (N으로 개수를 대체) 커서 아래에서 발생하지 않는 내용 변경은 반복 할 수 없습니다.
- q{a-z} 입력 된 문자를 레지스터 {a-z}에 기록
- ⬇️ q{A-Z} {a-z} 등록을 위해 추가 된 레코드 유형 문자
+ Status Command Description Note
+ ------------------------- --------------------------------- -------------------------------------------------------------------------------------------------- ------------------------------------------------------------
+ ✅ ⭐ 🔢 . 마지막 변경을 반복합니다 (N으로 개수를 대체) 커서 아래에서 발생하지 않는 내용 변경은 반복 할 수 없습니다.
+ q{a-z} 입력 된 문자를 레지스터 {a-z}에 기록
+ ⬇️ q{A-Z} {a-z} 등록을 위해 추가 된 레코드 유형 문자
q 녹화 중지
- 🔢 @{a-z} 레지스터 {a-z}의 내용을 실행합니다 (N 회)
- 🔢 @@ 이전 @ {a-z} 반복 (N 회)
- ⬇️ :@{a-z} 레지스터 {a-z}의 내용을 Ex 명령으로 실행
+ 🔢 @{a-z} 레지스터 {a-z}의 내용을 실행합니다 (N 회)
+ 🔢 @@ 이전 @ {a-z} 반복 (N 회)
+ ⬇️ :@{a-z} 레지스터 {a-z}의 내용을 Ex 명령으로 실행
⬇️ :@@ 이전 반복 : @ {a-z}
⬇️ :[range]g[lobal]/{pattern}/[cmd] execute Ex command cmd on the lines within [range] where {pattern} matches
⬇️ :[range]g[lobal]!/{pattern}/[cmd] execute Ex command cmd on the lines within [range] where {pattern} does NOT match
- ⬇️ :so[urce] {file} {file}에서 EX 명령을 읽습니다.
- ⬇️ :so[urce]! {file} {file}에서 Vim 명령을 읽습니다.
- ⬇️ :sl[eep][sec] [sec] 초 동안 아무 것도하지 마십시오
- ⬇️ 🔢 gs N 초 동안 절전 모드로 전환
+ ⬇️ :so[urce] {file} {file}에서 EX 명령을 읽습니다.
+ ⬇️ :so[urce]! {file} {file}에서 Vim 명령을 읽습니다.
+ ⬇️ :sl[eep][sec] [sec] 초 동안 아무 것도하지 마십시오
+ ⬇️ 🔢 gs N 초 동안 절전 모드로 전환

옵션

- Status Command Description Note
- ⬇️ :se[t] 수정 된 모든 옵션 표시
- ⬇️ :se[t] all 모든 non-termcap 옵션을 표시
- ⬇️ :se[t] termcap 모든 termcap 옵션을 표시
- :se[t] {option} set boolean option (switch it on), 문자열 또는 숫자 옵션 표시
- :se[t] no{option} boolean option 재설정(switch it off)
- :se[t] inv{option} boolean option 반전
- :se[t] {option}={value} 문자열 / 숫자 옵션을 {value}로 설정
- :se[t] {option}+={value} 문자열 옵션에 {value} 추가, 숫자 옵션에 {value} 추가
- ✅ ⭐ :se[t] {option}-={value} 문자열 옵션에서 {value}를 제거하고 숫자 옵션에서 {value}를 뺍니다. 여기서는 문자열 옵션을 지원하지 않습니다.
- :se[t] {option}? {option}의 가치를 보여주십시오.
- ⬇️ :se[t] {option}& {option}을 기본 값으로 재설정
- ⬇️ :setl[ocal] ": set"과 같지만 옵션이있는 옵션의 로컬 값을 설정하십시오.
- ⬇️ :setg[lobal] ": set"과 같지만 로컬 옵션의 전역 값을 설정하십시오.
- ⬇️ :fix[del] 't_kb'값에 따른 't_kD'값 설정
+ Status Command Description Note
+ ------------------------- ------------------------ -------------------------------------------------------------------------- -----------------------------------------
+ ⬇️ :se[t] 수정 된 모든 옵션 표시
+ ⬇️ :se[t] all 모든 non-termcap 옵션을 표시
+ ⬇️ :se[t] termcap 모든 termcap 옵션을 표시
+ :se[t] {option} set boolean option (switch it on), 문자열 또는 숫자 옵션 표시
+ :se[t] no{option} boolean option 재설정(switch it off)
+ :se[t] inv{option} boolean option 반전
+ :se[t] {option}={value} 문자열 / 숫자 옵션을 {value}로 설정
+ :se[t] {option}+={value} 문자열 옵션에 {value} 추가, 숫자 옵션에 {value} 추가
+ ✅ ⭐ :se[t] {option}-={value} 문자열 옵션에서 {value}를 제거하고 숫자 옵션에서 {value}를 뺍니다. 여기서는 문자열 옵션을 지원하지 않습니다.
+ :se[t] {option}? {option}의 가치를 보여주십시오.
+ ⬇️ :se[t] {option}& {option}을 기본 값으로 재설정
+ ⬇️ :setl[ocal] ": set"과 같지만 옵션이있는 옵션의 로컬 값을 설정하십시오.
+ ⬇️ :setg[lobal] ": set"과 같지만 로컬 옵션의 전역 값을 설정하십시오.
+ ⬇️ :fix[del] 't_kb'값에 따른 't_kD'값 설정
⬇️ :opt[ions] 기능별로 분류 된 옵션, 한 줄 설명 및 도움말 링크를 보려면 새 창을 엽니 다.

목록이 너무 길기 때문에 이미 지원되는 옵션을 여기에 넣습니다.

- Status Command Default Value Description
- tabstop (ts) 4. we use Code's default value tabSize instead of Vim 파일의 <Tab>이 사용하는 공백 수
- hlsearch (hls) false 이전 검색 패턴이 있으면 일치하는 항목을 모두 강조 표시하십시오.
- ignorecase (ic) true 검색 패턴에서 대소 문자를 무시하십시오.
- smartcase (scs) true 검색 패턴에 대문자가 포함 된 경우 'ignorecase'옵션을 대체하십시오.
- iskeyword (isk) @,48-57,_,128-167,224-235 키워드는 영숫자와 '\ _'를 포함합니다. iskeyword에 대한 사용자 설정이 없으면editor.wordSeparators 속성을 사용합니다.
- scroll (scr) 20 CTRL-U 및 CTRL-D 명령으로 스크롤 할 행의 수입니다.
- expandtab (et) True. we use Code's default value insertSpaces instead of Vim <Tab>을 삽입 할 때 공백을 사용하십시오.
- autoindent true 정상 모드에서cc 또는S를 수행 할 때 들여 쓰기를 유지하여 줄을 바꿉니다.
+ Status Command Default Value Description
+ ------------------ --------------- --------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------
+ tabstop (ts) 4. we use Code's default value tabSize instead of Vim 파일의 <Tab>이 사용하는 공백 수
+ hlsearch (hls) false 이전 검색 패턴이 있으면 일치하는 항목을 모두 강조 표시하십시오.
+ ignorecase (ic) true 검색 패턴에서 대소 문자를 무시하십시오.
+ smartcase (scs) true 검색 패턴에 대문자가 포함 된 경우 'ignorecase'옵션을 대체하십시오.
+ iskeyword (isk) @,48-57,_,128-167,224-235 키워드는 영숫자와 '\ _'를 포함합니다. iskeyword에 대한 사용자 설정이 없으면editor.wordSeparators 속성을 사용합니다.
+ scroll (scr) 20 CTRL-U 및 CTRL-D 명령으로 스크롤 할 행의 수입니다.
+ expandtab (et) True. we use Code's default value insertSpaces instead of Vim <Tab>을 삽입 할 때 공백을 사용하십시오.
+ autoindent true 정상 모드에서cc 또는S를 수행 할 때 들여 쓰기를 유지하여 줄을 바꿉니다.

실행 취소 / 재실행 명령

- Status Command Description Note
- 🔢 u undo last N changes 현재 구현이 모든 경우를 완벽하게 다루지는 않을 수 있습니다.
+ Status Command Description Note
+ ------------------ ------------- -------------------------- -----------------------------------------------------------
+ 🔢 u undo last N changes 현재 구현이 모든 경우를 완벽하게 다루지는 않을 수 있습니다.
🔢 CTRL-R redo last N undone changes 위와 같음
U restore last changed line

외부 명령

- Status Command Description
- ⬇️ :sh[ell] shell을 시작하다
- ⬇️ :!{command} shell로 {command}를 실행
- ⬇️ K 'keywordprg'프로그램이있는 커서 아래의 검색 키워드 (기본값 : "man")
+ Status Command Description
+ ------------ ----------- -------------------------------------------------------------------
+ ⬇️ :sh[ell] shell을 시작하다
+ ⬇️ :!{command} shell로 {command}를 실행
+ ⬇️ K 'keywordprg'프로그램이있는 커서 아래의 검색 키워드 (기본값 : "man")

전 번호

- Status Command Description Note
- , 두 줄 번호를 구분
- ✅ ⭐ ; idem, 두 번째 행을 해석하기 전에 커서를 첫 번째 행 번호로 설정하십시오. 커서 이동은 포함되지 않습니다.
- {number} 절대적인 line number
- . 현재 줄
- $ 파일의 마지막 줄
- % 1,$와 같음 (전체 파일)
- * '<,'>은 같음(시작적 영역)
- 't mark t의 위치
- ⬇️ /{pattern}[/] {pattern}이 일치하는 다음 줄
- ⬇️ ?{pattern}[?] {pattern}이 일치하는 이전 줄
- +[num] 앞 줄 번호에 [num]을 추가하십시오 (기본값 : 1).
- -[num] 이전 줄 번호에서 [num]을 뺍니다 (기본값 : 1).
+ Status Command Description Note
+ ------------------------- ------------- ------------------------------------------------------------------------------------------------------ ----
+ , 두 줄 번호를 구분
+ ✅ ⭐ ; idem, 두 번째 행을 해석하기 전에 커서를 첫 번째 행 번호로 설정하십시오. 커서 이동은 포함되지 않습니다.
+ {number} 절대적인 line number
+ . 현재 줄
+ $ 파일의 마지막 줄
+ % 1,$와 같음 (전체 파일)
+ * '<,'>은 같음(시작적 영역)
+ 't mark t의 위치
+ ⬇️ /{pattern}[/] {pattern}이 일치하는 다음 줄
+ ⬇️ ?{pattern}[?] {pattern}이 일치하는 이전 ���
+ +[num] 앞 줄 번호에 [num]을 추가하십시오 (기본값 : 1).
+ -[num] 이전 줄 번호에서 [num]을 뺍니다 (기본값 : 1).

파일 편집

- Status Command Description Note
- ✅ ⭐ :e[dit] {file} Edit {file}. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
+ Status Command Description Note
+ ------------------------- -------------- ------------ -----------------------------------------------------------------------
+ ✅ ⭐ :e[dit] {file} Edit {file}. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.

Multi-window 명령

- Status Command Description Note
- ✅ ⭐ :e[dit] {file} {file}을 편집하십시오. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
- ✅ ⭐ <ctrl-w> hl 창 사이를 전환합니다. VS Code에는 Window라는 개념이 없으므로 이러한 명령을 그룹화 된 편집기 간 전환에 매핑합니다.
- :sp {file} 현재 창을 두개로 나눕니다.
- ✅ ⭐ :vsp {file} 세로로 현재 창을 두 개로 나눕니다.
- <ctrl-w> s 현재 창을 두개로 나눕니다.
- ✅ ⭐ <ctrl-w> v 세로로 현재 창을 두 개로 나눕니다.
- :new 새 창을 가로로 만들고 빈 파일 편집을 시작하십시오.
- ✅ ⭐ :vne[w] 새 창을 세로로 만들고 빈 파일 편집을 시작하십시오.
+ Status Command Description Note
+ ------------------------- ----------------- -------------------------------------------------- -------------------------------------------------------------------------------------------
+ ✅ ⭐ :e[dit] {file} {file}을 편집하십시오. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
+ ✅ ⭐ <ctrl-w> hl 창 사이를 전환합니다. VS Code에는 Window라는 개념이 없으므로 이러한 명령을 그룹화 된 편집기 간 전환에 매핑합니다.
+ :sp {file} 현재 창을 두개로 나눕니다.
+ ✅ ⭐ :vsp {file} 세로로 현재 창을 두 개로 나눕니다.
+ <ctrl-w> s 현재 창을 두개로 나눕니다.
+ ✅ ⭐ <ctrl-w> v 세로로 현재 창을 두 개로 나눕니다.
+ :new 새 창을 가로로 만들고 빈 파일 편집을 시작하십시오.
+ ✅ ⭐ :vne[w] 새 창을 세로로 만들고 빈 파일 편집을 시작하십시오.

- Status Command Description Note
+ Status Command Description Note
+ ------------------------- ------------------------------------ ------------------------------------------------------------------------------------- ---------------------------------------------------------------
:tabn[ext] 🔢 다음 탭 페이지 또는 탭 페이지 {count}로 이동하십시오. 첫 번째 탭 페이지는 1 번입니다.
- {count}<C-PageDown>, {count}gt 위와 동일
- :tabp[revious] 🔢 이전 탭 페이지로 이동하십시오. 첫 번째부터 마지막까지 감싸줍니다.
- :tabN[ext] 🔢 위와 동일
- {count}<C-PageUp>, {count}gT 위와 동일
- :tabfir[st] 첫 번째 탭 페이지로 이동하십시오.
- :tabl[ast] 마지막 탭 페이지로 이동하십시오.
- :tabe[dit] {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
- ⬇️ :[count]tabe[dit], :[count]tabnew 위와 동일 [count] 는 지원되지 않습니다.
- :tabnew {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
- ⬇️ :[count]tab {cmd} {cmd}를 실행하고 새 창이 열리면 대신 새 탭 페이지를여십시오.
- ✅ ⭐ :tabc[lose][!] 🔢 현재 탭 페이지를 닫거나 탭 페이지 {count}를 닫습니다. 코드는 저장하지 않고 탭을 직접 닫습니다.
- ✅ ⭐ :tabo[nly][!] 다른 모든 탭 페이지를 닫습니다. !는 지원되지 않으며, 코드는 저장하지 않고 탭을 직접 닫습니다.
- :tabm[ove][n] 현재 탭 페이지를 탭 페이지 N 이후로 이동하십시오.
- ⬇️ :tabs 탭 페이지와 포함 된 창을 나열하십시오. 항상 코드의 내장 단축키를 사용할 수 있습니다 :cmd / ctrl + p
- ⬇️ :tabd[o] {cmd} 각 탭 페이지에서 {cmd}를 실행하십시오.
+ {count}<C-PageDown>, {count}gt 위와 동일
+ :tabp[revious] 🔢 이전 탭 페이지로 이동하십시오. 첫 번째부터 마지막까지 감싸줍니다.
+ :tabN[ext] 🔢 위와 동일
+ {count}<C-PageUp>, {count}gT 위와 동일
+ :tabfir[st] 첫 번째 탭 페이지로 이동하십시오.
+ :tabl[ast] 마지막 탭 페이지로 이동하십시오.
+ :tabe[dit] {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
+ ⬇️ :[count]tabe[dit], :[count]tabnew 위와 동일 [count] 는 지원되지 않습니다.
+ :tabnew {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
+ ⬇️ :[count]tab {cmd} {cmd}를 실행하고 새 창이 열리면 대신 새 탭 페이지를여십시오.
+ ✅ ⭐ :tabc[lose][!] 🔢 현재 탭 페이지를 닫거나 탭 페이지 {count}를 닫습니다. 코드는 저장하지 않고 탭을 직접 닫습니다.
+ ✅ ⭐ :tabo[nly][!] 다른 모든 탭 페이지를 닫습니다. !는 지원되지 않으며, 코드는 ���장하지 않고 탭을 직접 닫습니다.
+ :tabm[ove][n] 현재 탭 페이지를 탭 페이지 N 이후로 이동하십시오.
+ ⬇️ :tabs 탭 페이지와 포함 된 창을 나열하십시오. 항상 코드의 내장 단축키를 사용할 수 있습니다 :cmd / ctrl + p
+ ⬇️ :tabd[o] {cmd} 각 탭 페이지에서 {cmd}를 실행하십시오.

Folding

@@ -558,33 +558,33 @@ folding 방법은 'foldmethod' 옵션으로 설정할 수 있습니다. 현재 C

모든 fold-related가 this issue에 의해 차단되었습니다.

- Status Command Description
- ⬇️ zf{motion} or {Visual}zf fold를 만드는 연산자입니다.
- ⬇️ zF [count] 줄의 fold를 만듭니다. "zf"처럼 작동합니다.
- ⬇️ zd 커서에서 하나의 fold를 삭제하십시오.
- ⬇️ zD 커서에서 fold를 재귀적으로 삭제합니다.
- ⬇️ zE 창의 모든 fold를 제거하십시오.
- zo 커서 아래에 하나의 fold를 엽니다. 카운트가 주어지면 그 많은 폴드가 열립니다.
- zO 커서 아래의 모든 fold를 재귀적으로 엽니다.
- zc 커서 아래에서 한 개의 fold를 닫습니다. 카운트가 주어지면 깊은 곳의 많은 folds가 닫힙니다.
- zC 커서 아래의 모든fold를 재귀적으로 닫습니다.
- za 닫힌 fold에있을 때 : 여십시오. 열린 fold시 : 닫고 '접을 수 있음'을 설정하십시오.
- ⬇️ zA 열린 fold에 있을 때: 재귀적으로 엽니다. 닫힌 fold에 있을 때 : 재귀적으로 닫고 'foldenable'을 설정하십시오.
- ⬇️ zv View cursor line: 라인을 만들기에 충분한 fold를 엽니다.
- ⬇️ zx 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
- ⬇️ zX Update folds : 수동으로 열리고 닫힌 fold를 취소합니다. 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
- ⬇️ zm Fold more : 'foldlevel'에서 하나를 빼십시오.
- zM Close all folds : 'foldlevel'을 0으로 설정하십시오. 'foldenable'이 설정됩니다.
- ⬇️ zr Reduce folding : '폴더'에 하나를 추가하십시오.
- zR Open all fold. 'foldlevel'을 가장 높은 접기 수준으로 설정합니다.
- ⬇️ zn Fold none : 'foldenable'을 재설정하십시오. 모든 주름이 열립니다.
- ⬇️ zN Fold normal : 'foldenable'을 설정하십시오. 모든 주름은 이전과 동일합니다.
- ⬇️ zi 'foldenable'을 반전시킵니다.
- ⬇️ [z 현재 열린 fold 시작으로 이동합니다.
- ⬇️ ]z 현재 열린 fold의 끝으로 이동합니다.
- ⬇️ zj 다음 fold의 시작 부분으로 아래로 이동하십시오.
- ⬇️ zk 이전 fold의 끝으로 위로 이동하십시오.
+ Status Command Description
+ ------------------ ------------------------ -----------------------------------------------------------------------------------------------------------------------------
+ ⬇️ zf{motion} or {Visual}zf fold를 만드는 연산자입니다.
+ ⬇️ zF [count] 줄의 fold를 만듭니다. "zf"처럼 작동합니다.
+ ⬇️ zd 커서에서 하나의 fold를 삭제하십시오.
+ ⬇️ zD 커서에서 fold를 재귀적으로 삭제합니다.
+ ⬇️ zE 창의 모든 fold를 제거하십시오.
+ zo 커서 아래에 하나의 fold를 엽니다. 카운트가 주어지면 그 많은 폴드가 열립니다.
+ zO 커서 아래의 모든 fold를 재귀적으로 엽니다.
+ zc 커서 아래에서 한 개의 fold를 닫습니다. 카운트가 주어지면 깊은 곳의 많은 folds가 닫힙니다.
+ zC 커서 아래의 모든fold를 재귀적으로 닫습니다.
+ za 닫힌 fold에있을 때 : 여십시오. 열린 fold시 : 닫고 '접을 수 있음'을 설정하십시오.
+ ⬇️ zA 열린 fold에 있을 때: 재귀적으로 엽니다. 닫힌 fold에 있을 때 : 재귀적으로 닫고 'foldenable'을 설정하십시오.
+ ⬇️ zv View cursor line: 라인을 만들기에 충분한 fold를 엽니다.
+ ⬇️ zx 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
+ ⬇️ zX Update folds : 수동으로 열리고 닫힌 fold를 취소합니다. 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
+ ⬇️ zm Fold more : 'foldlevel'에서 하나를 빼십시오.
+ zM Close all folds : 'foldlevel'을 0으로 설정하십시오. 'foldenable'이 설정됩니다.
+ ⬇️ zr Reduce folding : '폴더'에 하나를 추가하십시오.
+ zR Open all fold. 'foldlevel'을 가장 높은 접기 수준으로 설정합니다.
+ ⬇️ zn Fold none : 'foldenable'을 재설정하십시오. 모든 주름이 열립니다.
+ ⬇️ zN Fold normal : 'foldenable'을 설정하십시오. 모든 주름은 이전과 동일합니다.
+ ⬇️ zi 'foldenable'을 반전시킵니다.
+ ⬇️ [z 현재 열린 fold 시작으로 이동합니다.
+ ⬇️ ]z 현재 열린 fold의 끝으로 이동합니다.
+ ⬇️ zj 다음 fold의 시작 부분으로 아래로 이동하십시오.
+ ⬇️ zk 이전 fold의 끝으로 위로 이동하십시오.

Fold 옵션

diff --git a/src/actions/commands/actions.ts b/src/actions/commands/actions.ts
index 20b91f9..6384f34 100644
--- a/src/actions/commands/actions.ts
+++ b/src/actions/commands/actions.ts
@@ -449,7 +449,11 @@ class CommandInsertWord extends BaseCommand {
@RegisterAction
class CommandRecordMacro extends BaseCommand {
modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['q', ''], ['q', ''], ['q', '"']];
  • keys = [

  • ['q', ''],

  • ['q', ''],

  • ['q', '"'],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    const register = this.keysPressed[1];
    @@ -2296,7 +2300,10 @@ export class CommandShowCommandHistory extends BaseCommand {
    @RegisterAction
    export class CommandShowSearchHistory extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['q', '/'], ['q', '?']];
  • keys = [

  • ['q', '/'],

  • ['q', '?'],

  • ];

    private direction = SearchDirection.Forward;

@@ -3032,7 +3039,10 @@ class CommandGoForwardInChangelist extends BaseCommand {
@RegisterAction
class CommandGoStartPrevOperatedText extends BaseCommand {
modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['`', '['], ["'", '[']];
  • keys = [

  • ['`', '['],

  • ["'", '['],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3048,7 +3058,10 @@ class CommandGoStartPrevOperatedText extends BaseCommand {
    @RegisterAction
    class CommandGoEndPrevOperatedText extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['`', ']'], ["'", ']']];
  • keys = [

  • ['`', ']'],

  • ["'", ']'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3064,7 +3077,10 @@ class CommandGoEndPrevOperatedText extends BaseCommand {
    @RegisterAction
    class CommandGoLastChange extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['`', '.'], ["'", '.']];
  • keys = [

  • ['`', '.'],

  • ["'", '.'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3314,7 +3330,12 @@ class CommandNavigateLastBOL extends BaseCommand {
    @RegisterAction
    class CommandQuit extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['', 'q'], ['', ''], ['', 'c'], ['', '']];
  • keys = [

  • ['', 'q'],

  • ['', ''],

  • ['', 'c'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    new QuitCommand({}).execute();
    @@ -3326,7 +3347,10 @@ class CommandQuit extends BaseCommand {
    @RegisterAction
    class CommandOnly extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['', 'o'], ['', '']];
  • keys = [

  • ['', 'o'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    new OnlyCommand({}).execute();
    @@ -3402,7 +3426,10 @@ class MoveToLeftPane extends BaseCommand {
    @RegisterAction
    class CycleThroughPanes extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', ''], ['', 'w']];
  • keys = [

  • ['', ''],

  • ['', 'w'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3423,7 +3450,10 @@ class BaseTabCommand extends BaseCommand {
    @RegisterAction
    class VerticalSplit extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', 'v'], ['', '']];
  • keys = [

  • ['', 'v'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    vimState.postponedCodeViewChanges.push({
    @@ -3438,7 +3468,10 @@ class VerticalSplit extends BaseCommand {
    @RegisterAction
    class OrthogonalSplit extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', 's'], ['', '']];
  • keys = [

  • ['', 's'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    vimState.postponedCodeViewChanges.push({
    diff --git a/src/actions/motion.ts b/src/actions/motion.ts
    index ca96602..2fd533f 100644
    --- a/src/actions/motion.ts
    +++ b/src/actions/motion.ts
    @@ -791,7 +791,10 @@ class MoveScreenLineCenter extends MoveByScreenLine {
    @RegisterAction
    export class MoveUpByDisplayLine extends MoveByScreenLine {
    modes = [ModeName.Insert, ModeName.Normal, ModeName.Visual];

  • keys = [['g', 'k'], ['g', '']];
  • keys = [
  • ['g', 'k'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'up';
    by: CursorMoveByUnit = 'wrappedLine';
    value = 1;
    @@ -800,7 +803,10 @@ export class MoveUpByDisplayLine extends MoveByScreenLine {
    @RegisterAction
    class MoveDownByDisplayLine extends MoveByScreenLine {
    modes = [ModeName.Insert, ModeName.Normal, ModeName.Visual];
  • keys = [['g', 'j'], ['g', '']];
  • keys = [
  • ['g', 'j'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'down';
    by: CursorMoveByUnit = 'wrappedLine';
    value = 1;
    @@ -814,7 +820,10 @@ class MoveDownByDisplayLine extends MoveByScreenLine {
    @RegisterAction
    class MoveUpByScreenLineVisualLine extends MoveByScreenLine {
    modes = [ModeName.VisualLine];
  • keys = [['g', 'k'], ['g', '']];
  • keys = [
  • ['g', 'k'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'up';
    by: CursorMoveByUnit = 'line';
    value = 1;
    @@ -823,7 +832,10 @@ class MoveUpByScreenLineVisualLine extends MoveByScreenLine {
    @RegisterAction
    class MoveDownByScreenLineVisualLine extends MoveByScreenLine {
    modes = [ModeName.VisualLine];
  • keys = [['g', 'j'], ['g', '']];
  • keys = [
  • ['g', 'j'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'down';
    by: CursorMoveByUnit = 'line';
    value = 1;
    @@ -832,7 +844,10 @@ class MoveDownByScreenLineVisualLine extends MoveByScreenLine {
    @RegisterAction
    class MoveUpByScreenLineVisualBlock extends BaseMovement {
    modes = [ModeName.VisualBlock];
  • keys = [['g', 'k'], ['g', '']];
  • keys = [

  • ['g', 'k'],

  • ['g', ''],

  • ];
    doesntChangeDesiredColumn = true;

    public async execAction(position: Position, vimState: VimState): Promise<Position | IMovement> {
    @@ -848,7 +863,10 @@ class MoveUpByScreenLineVisualBlock extends BaseMovement {
    @RegisterAction
    class MoveDownByScreenLineVisualBlock extends BaseMovement {
    modes = [ModeName.VisualBlock];

  • keys = [['g', 'j'], ['g', '']];
  • keys = [

  • ['g', 'j'],

  • ['g', ''],

  • ];
    doesntChangeDesiredColumn = true;

    public async execAction(position: Position, vimState: VimState): Promise<Position | IMovement> {
    diff --git a/src/actions/plugins/sneak.ts b/src/actions/plugins/sneak.ts
    index 9284c26..e72283c 100644
    --- a/src/actions/plugins/sneak.ts
    +++ b/src/actions/plugins/sneak.ts
    @@ -7,7 +7,10 @@ import { BaseMovement, IMovement } from '../baseMotion';

@RegisterAction
export class SneakForward extends BaseMovement {

  • keys = [['s', '', ''], ['z', '', '']];
  • keys = [

  • ['s', '', ''],

  • ['z', '', ''],

  • ];

    public couldActionApply(vimState: VimState, keysPressed: string[]): boolean {
    const startingLetter = vimState.recordedState.operator === undefined ? 's' : 'z';
    @@ -46,7 +49,7 @@ export class SneakForward extends BaseMovement {

    const ignorecase =
      configuration.sneakUseIgnorecaseAndSmartcase &&
    
  •    (configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString)));
    
  •    configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString));
    
     // Check for matches
     if (ignorecase) {
    

@@ -68,7 +71,10 @@ export class SneakForward extends BaseMovement {

@RegisterAction
export class SneakBackward extends BaseMovement {

  • keys = [['S', '', ''], ['Z', '', '']];
  • keys = [

  • ['S', '', ''],

  • ['Z', '', ''],

  • ];

    public couldActionApply(vimState: VimState, keysPressed: string[]): boolean {
    const startingLetter = vimState.recordedState.operator === undefined ? 'S' : 'Z';
    @@ -106,7 +112,7 @@ export class SneakBackward extends BaseMovement {

    const ignorecase =
      configuration.sneakUseIgnorecaseAndSmartcase &&
    
  •    (configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString)));
    
  •    configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString));
    
     // Check for matches
     if (ignorecase) {
    

diff --git a/src/configuration/configuration.ts b/src/configuration/configuration.ts
index ded8494..e64450d 100644
--- a/src/configuration/configuration.ts
+++ b/src/configuration/configuration.ts
@@ -276,14 +276,24 @@ class Configuration implements IConfiguration {
@overlapSetting({
settingName: 'lineNumbers',
defaultValue: true,

  • map: new Map([['on', true], ['off', false], ['relative', false], ['interval', false]]),
  • map: new Map([
  •  ['on', true],
    
  •  ['off', false],
    
  •  ['relative', false],
    
  •  ['interval', false],
    
  • ]),
    })
    number: boolean;

@overlapSetting({
settingName: 'lineNumbers',
defaultValue: false,

  • map: new Map([['on', false], ['off', false], ['relative', true], ['interval', false]]),
  • map: new Map([
  •  ['on', false],
    
  •  ['off', false],
    
  •  ['relative', true],
    
  •  ['interval', false],
    
  • ]),
    })
    relativenumber: boolean;

diff --git a/src/state/recordedState.ts b/src/state/recordedState.ts
index 322521e..1ceee1f 100644
--- a/src/state/recordedState.ts
+++ b/src/state/recordedState.ts
@@ -167,7 +167,7 @@ export class RecordedState {
mode !== ModeName.SearchInProgressMode &&
mode !== ModeName.CommandlineInProgress &&
(this.hasRunAMovement ||

  •    (mode === ModeName.Visual || mode === ModeName.VisualLine) ||
    
  •    mode === ModeName.Visual || mode === ModeName.VisualLine ||
       (this.operators.length > 1 &&
         this.operators.reverse()[0].constructor === this.operators.reverse()[1].constructor))
    
    );
    diff --git a/test/actions/baseAction.test.ts b/test/actions/baseAction.test.ts
    index ddd01a0..4172c8a 100644
    --- a/test/actions/baseAction.test.ts
    +++ b/test/actions/baseAction.test.ts
    @@ -12,7 +12,10 @@ class TestAction1D extends BaseAction {
    }

class TestAction2D extends BaseAction {

  • keys = [['a', 'b'], ['c', 'd']];
  • keys = [
  • ['a', 'b'],
  • ['c', 'd'],
  • ];
    modes = [ModeName.Normal];
    }

@@ -36,7 +39,14 @@ suite('base action', () => {
[[['a'], ['b']], ['c'], false],
[['a', 'b'], ['a', 'b'], true],
[['a', 'b'], ['a', 'c'], false],

  •  [[['a', 'b'], ['c', 'd']], ['c', 'd'], true],
    
  •  [
    
  •    [
    
  •      ['a', 'b'],
    
  •      ['c', 'd'],
    
  •    ],
    
  •    ['c', 'd'],
    
  •    true,
    
  •  ],
     [[''], ['a'], false],
     [['<Esc>'], ['<Esc>'], true],
    
    ];
    diff --git a/test/jumpTracker.test.ts b/test/jumpTracker.test.ts
    index 1da5fb0..2e89e5a 100644
    --- a/test/jumpTracker.test.ts
    +++ b/test/jumpTracker.test.ts
    @@ -170,7 +170,13 @@ suite('Record and navigate jumps', () => {
    // Note the column number was preserved for newer jump when it found duplicates on a line.
    assert.deepEqual(
    jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),
  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1'], [3, 5, 'file1'], [4, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •      [3, 5, 'file1'],
    
  •      [4, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting two lines`
     );
    

@@ -183,7 +189,12 @@ suite('Record and navigate jumps', () => {
// Preserve the newest jump in that case
assert.deepEqual(
jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),

  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1'], [3, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •      [3, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting another line`
     );
    

@@ -195,7 +206,11 @@ suite('Record and navigate jumps', () => {
// If you delete lines such that jumps are past EOF, delete the jumps
assert.deepEqual(
jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),

  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting all lines in file`
     );
    

    });
    diff --git a/test/testSimplifier.ts b/test/testSimplifier.ts
    index ba6176e..52a8e29 100644
    --- a/test/testSimplifier.ts
    +++ b/test/testSimplifier.ts
    @@ -27,7 +27,10 @@ export function getTestingFunctions() {

    test(testObj.title, async () =>
    testIt

  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

@@ -42,7 +45,10 @@ export function getTestingFunctions() {

 test.only(testObj.title, async () =>
   testIt
  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

@@ -56,7 +62,10 @@ export function getTestingFunctions() {

 test.skip(testObj.title, async () =>
   testIt
  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

Prettier Failed. Run [10:12:20] Using gulpfile ~/build/VSCodeVim/Vim/gulpfile.js
[10:12:20] Starting 'forceprettier'...
[10:12:36] Finished 'forceprettier' after 17 s and commit changes to resolve.


</details>


###### TravisBuddy Request Identifier: 9bd6e0d0-0d10-11ea-aaf2-61ea24cf814e

@DokyungHwang
Copy link
Author

I'm sorry. my homwork goal is to get 'merge' sign . if there is no problem about my PR ,could you merge my PR?

Deleting files due to merge failure
@TravisBuddy
Copy link

Travis tests have failed

Hey @DokyungHwang,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

Node.js: 8

View build log

if [[ $(git diff-index HEAD -- *.js *.ts *.md) ]]; then git diff; echo "Prettier Failed. Run `gulp forceprettier` and commit changes to resolve."; exit 1; fi
diff --git a/Korea/CODE_OF_CONDUCT.md b/Korea/CODE_OF_CONDUCT.md
index 81de4ec..de2aea7 100644
--- a/Korea/CODE_OF_CONDUCT.md
+++ b/Korea/CODE_OF_CONDUCT.md
@@ -7,7 +7,7 @@
 ## 우리의 책임
 
 프로젝트 매니저(Project Maintainer)는 다음과 같은 권리와 책임을 가지고 있습니다.
- 기여활동에 대해 삭제/편집 혹은 코멘트,커밋,코드작성,위키수정,이슈보고, 그리고 기타 규율을 지키지 않는 기여활동에 대해
+기여활동에 대해 삭제/편집 혹은 코멘트,커밋,코드작성,위키수정,이슈보고, 그리고 기타 규율을 지키지 않는 기여활동에 대해
 또한 임시/영구적으로 부적절한 행동을하고, 공격적으로 타인을 대하거나, 해로운 짓을 하는 사람을 추방(ban)할 수 있습니다.
 
 프로젝트 매니저는 다음 사항에 대한 수행 권리와 책임을 가지고 있습니다.
diff --git a/Korea/CONTRIBUTING.md b/Korea/CONTRIBUTING.md
index fa2fc59..f077ff9 100644
--- a/Korea/CONTRIBUTING.md
+++ b/Korea/CONTRIBUTING.md
@@ -6,7 +6,7 @@ VSCodeVim을 개선하는 데 도움을 주셔서 감사합니다! :clap:
 
 ## 이슈 제출
 
-[GitHub 이슈 트래커](https://github.com/VSCodeVim/Vim/issues)는 버그 및 개선 제안 추적에 선호되는 채널입니다. 
+[GitHub 이슈 트래커](https://github.com/VSCodeVim/Vim/issues)는 버그 및 개선 제안 추적에 선호되는 채널입니다.
 새로운 버그 리포트를 생성 할 때 :
 
 - 다른 사람이 이미 문제를보고했거나 아이디어를 요청했는지 확인하려면 기존 문제를 검색하십시오.
@@ -86,7 +86,7 @@ PR을 제출할 때 PR이 열릴 때 GitHub에서 제공하는 템플릿을 작
 
 #### vscode.window.onDidChangeTextEditorSelection
 
-이것은 클릭 이벤트 기반 API가없는 IDE에서 클릭 이벤트를 시뮬레이트하는 나의 핵입니다 (아직?). 방금 들어온 선택 항목을 확인하여 이전에 상태 시스템을 마지막으로 업데이트했을 때 선택 항목을 설정했다고 생각한 것과 같은지 확인합니다. 그렇지 않은 경우 사용자가 클릭했을 수 있습니다. (그러나 아마도 또한  탭을 완성 할 수도있었습니다!)
+이것은 클릭 이벤트 기반 API가없는 IDE에서 클릭 이벤트를 시뮬레이트하는 나의 핵입니다 (아직?). 방금 들어온 선택 항목을 확인하여 이전에 상태 시스템을 마지막으로 업데이트했을 때 선택 항목을 설정했다고 생각한 것과 같은지 확인합니다. 그렇지 않은 경우 사용자가 클릭했��� 수 있습니다. (그러나 아마도 또한 탭을 완성 할 수도있었습니다!)
 
 ## 배포
 
diff --git a/Korea/README.md b/Korea/README.md
index e233dea..c0e76ed 100644
--- a/Korea/README.md
+++ b/Korea/README.md
@@ -6,7 +6,7 @@
 [![https://travis-ci.org/VSCodeVim/Vim](https://travis-ci.org/VSCodeVim/Vim.svg?branch=master)](https://travis-ci.org/VSCodeVim/Vim)
 [![https://vscodevim.herokuapp.com/](https://img.shields.io/badge/vscodevim-slack-blue.svg?logo=slack)](https://vscodevim.herokuapp.com/)
 
-VSCodeVim은  [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim emulation입니다.
+VSCodeVim은 [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim emulation입니다.
 
 - 🚚 지원되는 Vim 기능의 전체 목록은 [로드맵]을 참조하십시오.(ROADMAP.md).
 - 📃 [변경된 로그](CHANGELOG.md)에는 릴리스 간 주요 / 주요 / 최소 업데이트가 요약되어 있습니다.
@@ -44,7 +44,7 @@ VSCodeVim은  [Visual Studio Code](https://code.visualstudio.com/)를 위한 Vim
 
 ## 💾 설치
 
-VSCodeVim은 VS Code를  [설치](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) 하고 다시로드 한 후에 자동으로 활성화됩니다.
+VSCodeVim은 VS Code를 [설치](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) 하고 다시로드 한 후에 자동으로 활성화됩니다.
 
 > :warning: Vimscript는 지원되지 않습니다. 따라서 `.vimrc`를로드하거나 `.vim` vim 플러그인을 사용할 수 없습니다. [설정](#settings)과 [Emulated plugins](#-emulated-plugins)을 사용하여 이것을 복제해야합니다.
 
@@ -108,7 +108,7 @@ $ defaults delete -g ApplePressAndHoldEnabled
 
 이 설정은 VSCodeVim에만 적용됩니다.
 
-| 셋팅                          | 설명                                                                                                                                                                                                                                                                                                                                                                                                                      | 타입    | 기본값                         |
+| 셋팅                             | 설명                                                                                                                                                                                                                                                                                                                                                                                                                             | 타입    | 기본값                                |
 | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------- |
 | vim.changeWordIncludesWhitespace | Include trailing whitespace when changing word. This configures the <kbd>cw</kbd> action to act consistently as its siblings (<kbd>yw</kbd> and <kbd>dw</kbd>) instead of acting as <kbd>ce</kbd>.                                                                                                                                                                                                                               | Boolean | false                                 |
 | vim.cursorStylePerMode._{Mode}_  | Configure a specific cursor style for _{Mode}_. Omitted modes will use [default cursor type](https://github.com/VSCodeVim/Vim/blob/4a6fde6dbd4d1fac1f204c0dc27c32883651ef1a/src/mode/mode.ts#L34) Supported cursors: line, block, underline, line-thin, block-outline, and underline-thin.                                                                                                                                       | String  | None                                  |
@@ -135,12 +135,12 @@ $ defaults delete -g ApplePressAndHoldEnabled
 Ex-command에 neovim을 활용하려면,
 
 1.  [neovim](https://github.com/neovim/neovim/wiki/Installing-Neovim)을 설치하세요
-2. 다음 구성을 수정하세요:
+2.  다음 구성을 수정하세요:
 
-| 환경          | 설명                    | 타입    | 기본 값 |
-| ---------------- | ------------------------------ | ------- | ------------- |
-| vim.enableNeovim |  Neovim 활성화                  | Boolean | false         |
-| vim.neovimPath   | neovim 실행 파일의 전체 경로 | String  |               |
+| 환경             | 설명                         | 타입    | 기본 값 |
+| ---------------- | ---------------------------- | ------- | ------- |
+| vim.enableNeovim | Neovim 활성화                | Boolean | false   |
+| vim.neovimPath   | neovim 실행 파일의 전체 경로 | String  |         |
 
 neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 있습니다:
 
@@ -190,7 +190,7 @@ neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 
     ]

-- <leader>m 을 바인드하여 책갈피를 추가하고 <leader>b를 사용하여 모든 책갈피 목록을 여십시오 (북마크 확장자 사용):
+- <leader>m 을 바인드하여 책갈피를 추가하고 <leader>b를 사용하여 모든 책갈피 목록을 여십시오 (북마크 확장자 사용):

    "vim.normalModeKeyBindingsNonRecursive": [
@@ -303,7 +303,7 @@ neovim 통합으로 할 수있는 작업에 대한 몇 가지 아이디어가 
#### `"vim.insertModeKeyBindingsNonRecursive"`/`"normalModeKeyBindingsNonRecursive"`/`"visualModeKeyBindingsNonRecursive"`

- 비 재귀 키 바인딩은 삽입, 일반 및 시각적 모드에 사용하도록 재정의합니다.
-- _예:_  `j` 를 `gj`에 바인드하십시오.이 바인딩을 정상적으로 시도하면 gj의 j는 계속해서 gj로 확장됩니다. insertModeKeyBindingsNonRecursive 및 / 또는 normalModeKeyBindingNonRecursive를 사용하여이 순환 확장을 중지하십시오.
+- _예:_ `j` 를 `gj`에 바인드하십시오.이 바인딩을 정상적으로 시도하면 gj의 j는 계속해서 gj로 확장됩니다. insertModeKeyBindingsNonRecursive 및 / 또는 normalModeKeyBindingNonRecursive를 사용하여이 순환 확장을 중지하십시오.

```json
    "vim.normalModeKeyBindingsNonRecursive": [
@@ -350,20 +350,20 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니
3.  VS Code 설정
4.  VSCodeVim 기본 값

-| 환경          | 설명                                                                                                                                                                                                                                                           | 타입    | 기본 값 |
-| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------------- |
-| vim.autoindent   | 새 줄을 시작할 때 현재 줄에서 들여 쓰기                                                                                                                                                                                                               | Boolean | true          |
-| vim.hlsearch     | 현재 검색과 일치하는 모든 텍스트를 강조 표시합니다                                                                                                                                                                                                                          | Boolean | false         |
-| vim.ignorecase   | 검색 패턴에서 대소 문자 무시                                                                                                                                                                                                                          | Boolean | true          |
-| vim.incsearch    | 검색을 입력하는 동안 다음 매치 표시                                                                                                                                                                                                                           | Boolean | true          |
-| vim.leader       | 키 재 매핑에 사용될`<leader>`의 키를 정의합니다                                                                                                                                                                                                               | String  | `\`           |
-| vim.showcmd      | 상태 표시 줄에 (부분) 명령 표시                                                                                                                                                                                                                     | Boolean | true          |
-| vim.showmodename | 상태 표시 줄에 현재 모드 이름 표시                                                                                                                                                                                                                           | Boolean | true          |
-| vim.smartcase    | 검색 패턴에 대문자가 포함 된 경우 '무시'설정을 대체하십시오.                                                                                                                                                                                     | Boolean | true          |
-| vim.textwidth    | `gq`를 사용할 때 너비를 자동 줄 바꿈                                                                                                                                                                                                                                    | Number  | 80            |
-| vim.timeout      | 재 매핑 된 명령에 대한 시간 초과 (밀리 초)                                                                                                                                                                                                                      | Number  | 1000          |
-| vim.whichwrap    | 줄의 시작과 끝에서 줄 바꿈을 제어합니다. 다음 / 이전 행으로 줄 바꿈해야하는 쉼표로 구분 된 키 집합입니다. 화살표 키는 삽입 모드에서 `[`  및  `]` 로 표시되며 일반 및 시각적 모드에서는`<` 및  `>` 로 표시됩니다. "everything"을 감싸려면 이것을`h,l,<,>,[,]`로 설정하십시오. | String  | ``            |
-| vim.report       |라인 수 보고에 대한 임계 값이 변경되었습니다.                                                                                                                                                                                                                     | Number  | 2             |
+| 환경             | 설명                                                                                                                                                                                                                                                                      | 타입    | 기본 값 |
+| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ------- |
+| vim.autoindent   | 새 줄을 시작할 때 현재 줄에서 들여 쓰기                                                                                                                                                                                                                                   | Boolean | true    |
+| vim.hlsearch     | 현재 검색과 일치하는 모든 텍스트를 강조 표시합니다                                                                                                                                                                                                                        | Boolean | false   |
+| vim.ignorecase   | 검색 패턴에서 대소 문자 무시                                                                                                                                                                                                                                              | Boolean | true    |
+| vim.incsearch    | 검색을 입력하는 동안 다음 매치 표시                                                                                                                                                                                                                                       | Boolean | true    |
+| vim.leader       | 키 재 매핑에 사용될`<leader>`의 키를 정의합니다                                                                                                                                                                                                                           | String  | `\`     |
+| vim.showcmd      | 상태 표시 줄에 (부분) 명령 표시                                                                                                                                                                                                                                           | Boolean | true    |
+| vim.showmodename | 상태 표시 줄에 현재 모드 이름 표시                                                                                                                                                                                                                                        | Boolean | true    |
+| vim.smartcase    | 검색 패턴에 대문자가 포함 된 경우 '무시'설정을 대체하십시오.                                                                                                                                                                                                              | Boolean | true    |
+| vim.textwidth    | `gq`를 사용할 때 너비를 자동 줄 바꿈                                                                                                                                                                                                                                      | Number  | 80      |
+| vim.timeout      | 재 매핑 된 명령에 대한 시간 초과 (밀리 초)                                                                                                                                                                                                                                | Number  | 1000    |
+| vim.whichwrap    | 줄의 시작과 끝에서 줄 바꿈을 제어합니다. 다음 / 이전 행으로 줄 바���해야하는 쉼표로 구분 된 키 집합입니다. 화살표 키는 삽입 모드에서 `[` 및 `]` 로 표시되며 일반 및 시각적 모드에서는`<` 및 `>` 로 표시됩니다. "everything"을 감싸려면 이것을`h,l,<,>,[,]`로 설정하십시오. | String  | ``      |
+| vim.report       | 라인 수 보고에 대한 임계 값이 변경되었습니다.                                                                                                                                                                                                                             | Number  | 2       |

## 🖱️ 멀티커서모드

@@ -372,7 +372,7 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니
다음으로 다중 커서 모드로 들어갑니다:

- On OSX, `cmd-d`. On Windows, `ctrl-d`.
-- `gb` `cmd-d` (OSX) 또는 `ctrl-d`  (Windows)에 해당하는 새로운 바로 가기가 추가되었습니다. 다음 단어에 커서가 현재있는 단어와 일치하는 다른 커서를 추가합니다.
+- `gb` `cmd-d` (OSX) 또는 `ctrl-d` (Windows)에 해당하는 새로운 바로 가기가 추가되었습니다. 다음 단어에 커서가 현재있는 단어와 일치하는 다른 커서를 추가합니다.
- "Add Cursor Above/Below"을 실행하거나 다른 플랫폼으로 빠르게 접근하기.

커서가 여러 개 있으면 Vim 명령을 사용할 수 있습니다. 대부분 작동해야합니다. 일부는 지원되지 않습니다(참조 [PR#587](https://github.com/VSCodeVim/Vim/pull/587)).
@@ -386,7 +386,7 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니

> :warning: 이 플러그인을 사용하면 성능에 영향을 미칩니다. 상태 표시 줄을 변경하기 위해 작업 공간 settings.json의 구성을 재정 의하여 작업 디렉토리의 대기 시간이 증가하고 diff가 지속적으로 변경됩니다(참조 [이슈#2124](https://github.com/VSCodeVim/Vim/issues/2124)).

-현재 모드에 따라 상태 표시 줄의 색상을 변경하십시오. 활성화되면`"vim.statusBarColors"`를 구성하십시오. 각 모드의 색상은 `string`  (배경 만) 또는 `string[]` (배경, 전경)로 정의 할 수 있습니다.
+현재 모드에 따라 상태 표시 줄의 색상을 변경하십시오. 활성화되면`"vim.statusBarColors"`를 구성하십시오. 각 모드의 색상은 `string` (배경 만) 또는 `string[]` (배경, 전경)로 정의 할 수 있습니다.

```json
    "vim.statusBarColorControl": true,
@@ -402,24 +402,24 @@ vim에서 복사 한 구성 설정. Vim 설정은 다음 순서로로드됩니

[vim-easymotion](https://github.com/easymotion/vim-easymotion)을 기반으로하며 다음 설정을 통해 구성됩니다:

-| 환경                                    | 설명                                                                                                                                                                                                                                                       | 타입           | 기본값  |
+| 환경                                       | 설명                                                                                                                                                                                                                                                              | 타입           | 기본값         |
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- |
-| vim.easymotion                             | easymotion 플러그인 활성화 / 비활성화                                                                                                                                                                                                                                  | Boolean        | false          |
-| vim.easymotionMarkerBackgroundColor        | 마커 상자의 배경색입니다.                                                                                                                                                                                                                          |
-| vim.easymotionMarkerForegroundColorOneChar | 한 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                                                        |
-| vim.easymotionMarkerForegroundColorTwoChar | 한 문자 마커와 구별하는 데 사용되는 두 문자 마커의 글꼴 색상입니다.                                                                                                                                                                       |
-| vim.easymotionMarkerWidthPerChar           | 각 문자에 할당 된 너비 (픽셀)입니다.                                                                                                                                                                                                                 |
-| vim.easymotionMarkerHeight                 |마커의 높이입니다.                                                                                                                                                                                                                                       |
-| vim.easymotionMarkerFontFamily             | 마커 텍스트에 사용 된 글꼴 모음입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerFontSize               | 마커 텍스트에 사용되는 글꼴 크기입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerFontWeight             | 마커 텍스트에 사용 된 글꼴 굵기입니다.                                                                                                                                                                                                                         |
-| vim.easymotionMarkerYOffset                | 마커 상단과 텍스트 사이의 거리 (일반적으로 높이 또는 글꼴 크기가 변경된 경우 약간의 조정이 필요함).                                                                                                                           |
-| vim.easymotionKeys                         | 점프 마커 이름에 사용되는 문자                                                                                                                                                                                                                          |
+| vim.easymotion                             | easymotion 플러그인 활성화 / 비활성화                                                                                                                                                                                                                             | Boolean        | false          |
+| vim.easymotionMarkerBackgroundColor        | 마커 상자의 배경색입니다.                                                                                                                                                                                                                                         |
+| vim.easymotionMarkerForegroundColorOneChar | 한 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                                                                   |
+| vim.easymotionMarkerForegroundColorTwoChar | 한 문자 마커와 구별하는 데 사용되는 두 문자 마커의 글꼴 색상입니다.                                                                                                                                                                                               |
+| vim.easymotionMarkerWidthPerChar           | 각 문자에 할당 된 너비 (픽셀)입니다.                                                                                                                                                                                                                              |
+| vim.easymotionMarkerHeight                 | 마커의 높이입니다.                                                                                                                                                                                                                                                |
+| vim.easymotionMarkerFontFamily             | 마커 텍스트에 사용 된 글꼴 모음입니다.                                                                                                                                                                                                                            |
+| vim.easymotionMarkerFontSize               | 마커 텍스트에 사용되는 글꼴 크기입니다.                                                                                                                                                                                                                           |
+| vim.easymotionMarkerFontWeight             | 마커 텍스트에 사용 된 글꼴 굵기입니다.                                                                                                                                                                                                                            |
+| vim.easymotionMarkerYOffset                | 마커 상단과 텍스트 사이의 거리 (일반적으로 높이 또는 글꼴 크기가 변경된 경우 약간의 조정이 필요함).                                                                                                                                                               |
+| vim.easymotionKeys                         | 점프 마커 이름에 사용되는 문자                                                                                                                                                                                                                                    |
| vim.easymotionJumpToAnywhereRegex          | Custom regex to match for JumpToAnywhere motion (analogous to `Easymotion_re_anywhere`). Example setting (which also matches start & end of line, as well as Javascript comments in addition to the regular behavior (note the double escaping required): ^\\s\*. | \\b[A-Za-z0-9] | [A-Za-z0-9]\\b | \_. | \\#. | [a-z][a-z] | // | .\$" |

easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하십시오. 모션을 시작하면 텍스트 데코레이터 / 마커가 표시되며 표시된 키를 눌러 해당 위치로 이동할 수 있습니다. `leader`는 설정이 가능하며 기본적으로`\` 입니다.

-| Motion 명령어                      | 설명                                                                                                 |
+| Motion 명령어                       | 설명                                                                                                        |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `<leader><leader> s <char>`         | Search character                                                                                            |
| `<leader><leader> f <char>`         | Find character forwards                                                                                     |
@@ -450,23 +450,23 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

[surround.vim](https://github.com/tpope/vim-surround)을 기반으로 플러그인은 괄호, 괄호, 따옴표 및 XML 태그와 같은 주변 문자를 처리하는 데 ���용됩니다.

-| 설정      | 설명                 | 타입    | 기본값 |
-| ------------ | --------------------------- | ------- | ------------- |
-| vim.surround | Enable/disable vim-surround | Boolean | true          |
+| 설정         | 설명                        | 타입    | 기본값 |
+| ------------ | --------------------------- | ------- | ------ |
+| vim.surround | Enable/disable vim-surround | Boolean | true   |

`<desired char>`또는`<existing char>`로`t` 또는`<`는 태그를 수행하고 태그 입력 모드로 들어갑니다. `>`대신`<CR>`을 사용하여 태그 변경을 마치면 기존 속성이 유지됩니다.

-| Surround Command                     | 설명                                                           |
+| Surround Command                     | 설명                                                                  |
| ------------------------------------ | --------------------------------------------------------------------- |
-| `d s <existing char>`                | 기존 서라운드 삭제                                              |
+| `d s <existing char>`                | 기존 서라운드 삭제                                                    |
| `c s <existing char> <desired char>` | Change surround existing to desired                                   |
| `y s <motion> <desired char>`        | Surround something with something using motion (as in "you surround") |
| `S <desired char>`                   | Surround when in visual modes (surrounds full selection)              |

몇가지 예:

-- ` 'test'`로 끝나기 위해 인용 부호 안에 cs를 입력 한`'test'`
-- `test``로 끝나는 인용 부호 ds 안에 커서가있는 "test"`
+- `'test'`로 끝나기 위해 인용 부호 안에 cs를 입력 한`'test'`
+- ` test``로 끝나는 인용 부호 ds 안에 커서가있는 "test" `
- `"test"` with cursor inside quotes type cs"t and enter 123> to end up with `<123>test</123>`
- 단어 테스트 유형 ysaw에 커서가있는`test`는`(test)`로 끝납니다.

@@ -480,11 +480,12 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하
- `gC`-블록 주석 토글. 예를 들어`gCi)`는 괄호 안의 모든 것을 주석 처리합니다.

### vim-indent-object
+
[vim-indent-object](https://github.com/michaeljsmith/vim-indent-object)를 기반으로하여 현재 들여 쓰기 수준의 코드 블록을 텍스트 객체로 처리 할 수 있습니다. 문장 주위에 중괄호를 사용하지 않는 언어 (예 : Python)에서 유용합니다.

여는 중괄호 / 태그 사이에 새로운 줄이 있다면, 그것은 무시할 수있는`cib` /`ci {`/`ci [`/`cit`로 간주 될 수 있습니다.

-| 명령어        | 설명                                                                                          |
+| 명령어         | 설명                                                                                                 |
| -------------- | ---------------------------------------------------------------------------------------------------- |
| `<operator>ii` | This indentation level                                                                               |
| `<operator>ai` | This indentation level and the line above (think `if` statements in Python)                          |
@@ -494,14 +495,14 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

[vim-sneak](https://github.com/justinmk/vim-sneak)를 기반으로 두 문자로 지정된 위치로 이동할 수 있습니다.

-| 환경                            | 설명                                                 | 타입    | 기본 값 |
-| ---------------------------------- | ----------------------------------------------------------- | ------- | ------------- |
-| vim.sneak                          | Enable/disable vim-sneak                                    | Boolean | false         |
-| vim.sneakUseIgnorecaseAndSmartcase | Respect `vim.ignorecase` and `vim.smartcase` while sneaking | Boolean | false         |
+| 환경                               | 설명                                                        | 타입    | 기본 값 |
+| ---------------------------------- | ----------------------------------------------------------- | ------- | ------- |
+| vim.sneak                          | Enable/disable vim-sneak                                    | Boolean | false   |
+| vim.sneakUseIgnorecaseAndSmartcase | Respect `vim.ignorecase` and `vim.smartcase` while sneaking | Boolean | false   |

몰래 활성화되면 다음 명령을 사용하여 모션을 시작하십시오. 연산자 sneak은`s` 대신`z`를 사용합니다. `s`는 이미 서라운드 플러그인에 의해 사용되기 때문입니다.

-| Motion 명령            | 설명                                                             |
+| Motion 명령               | 설명                                                                    |
| ------------------------- | ----------------------------------------------------------------------- |
| `s<char><char>`           | Move forward to the first occurrence of `<char><char>`                  |
| `S<char><char>`           | Move backward to the first occurrence of `<char><char>`                 |
@@ -510,15 +511,15 @@ easymotion이 활성화되면 다음 명령을 사용하여 모션을 시작하

### CamelCaseMotion

-정확한 에뮬레이션은 아니지만  [CamelCaseMotion](https://github.com/bkad/CamelCaseMotion)을 기반으로합니다. 이 플러그인은 camelCase 및 snake_case 단어를 쉽게 이동할 수있는 방법을 제공합니다.
+정확한 에뮬레이션은 아니지만 [CamelCaseMotion](https://github.com/bkad/CamelCaseMotion)을 기반으로합니다. 이 플러그인은 camelCase 및 snake_case 단어를 쉽게 이동할 수있는 방법을 제공합니다.

-| 환경                    | 설명                    | 타입    | 기본 값 |
-| -------------------------- | ------------------------------ | ------- | ------------- |
-| vim.camelCaseMotion.enable | Enable/disable CamelCaseMotion | Boolean | false         |
+| 환경                       | 설명                           | 타입    | 기본 값 |
+| -------------------------- | ------------------------------ | ------- | ------- |
+| vim.camelCaseMotion.enable | Enable/disable CamelCaseMotion | Boolean | false   |

CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.

-| Motion 명령어         | 설명                                                                |
+| Motion 명령어          | 설명                                                                       |
| ---------------------- | -------------------------------------------------------------------------- |
| `<leader>w`            | Move forward to the start of the next camelCase or snake_case word segment |
| `<leader>e`            | Move forward to the next end of a camelCase or snake_case word segment     |
@@ -531,7 +532,7 @@ CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.

삽입 모드를 종료 할 때 입력 방법을 비활성화하십시오.

-| 환경                                 | 설명                                                                                      |
+| 환경                                    | 설명                                                                                             |
| --------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `vim.autoSwitchInputMethod.enable`      | Boolean denoting whether autoSwitchInputMethod is on/off.                                        |
| `vim.autoSwitchInputMethod.defaultIM`   | Default input method.                                                                            |
@@ -541,68 +542,67 @@ CamelCaseMotion이 활성화되면 다음 모션을 사용할 수 있습니다.
모든 타사 프로그램을 사용하여 입력 방법을 전환 할 수 있습니다. 다음은 [im-select](https://github.com/daipeihust/im-select)를 사용하여 구성을 안내합니다..

1. im-select 설치하기 (참조 [installation guide](https://github.com/daipeihust/im-select#installation))
-1.  기본 입력 방법 키 찾기
+1. 기본 입력 방법 키 찾기

-    - Mac:
+   - Mac:

-      입력 방법을 영어로 전환하고 터미널에서 `/<path-to-im-select-installation>/im-select` 를 실행하여 기본 입력 방법을 출력하십시오. 아래 표에는 MacOS의 일반적인 영어 키 레이아웃이 나와 있습니다.
+     입력 방법을 영어로 전환하고 터미널에서 `/<path-to-im-select-installation>/im-select` 를 실행하여 기본 입력 방법을 출력하십시오. 아래 표에는 MacOS의 일반적인 영어 키 레이아웃이 나와 있습니다.

-      | Key                            | 설명 |
-      | ------------------------------ | ----------- |
-      | com.apple.keylayout.US         | U.S.        |
-      | com.apple.keylayout.ABC        | ABC         |
-      | com.apple.keylayout.British    | British     |
-      | com.apple.keylayout.Irish      | Irish       |
-      | com.apple.keylayout.Australian | Australian  |
-      | com.apple.keylayout.Dvorak     | Dvorak      |
-      | com.apple.keylayout.Colemak    | Colemak     |
+     | Key                            | 설명       |
+     | ------------------------------ | ---------- |
+     | com.apple.keylayout.US         | U.S.       |
+     | com.apple.keylayout.ABC        | ABC        |
+     | com.apple.keylayout.British    | British    |
+     | com.apple.keylayout.Irish      | Irish      |
+     | com.apple.keylayout.Australian | Australian |
+     | com.apple.keylayout.Dvorak     | Dvorak     |
+     | com.apple.keylayout.Colemak    | Colemak    |

-    - Windows:
+   - Windows:

-      입력 방법 키를 검색하는 방법은[im-select guide](https://github.com/daipeihust/im-select#to-get-current-keyboard-locale) 안내서를 참조하십시오.  일반적으로 키보드 레이아웃이 en_US 인 경우 입력 방법 키는 1033 (en_US의 로캘 ID)입니다. `LCID Decimal`열이 로컬 ID인 [이 페이지](https://www.science.co.il/language/Locale-codes.php)에서 로컬 ID를 찾을 수도 있습니다.
+     입력 방법 키를 검색하는 방법은[im-select guide](https://github.com/daipeihust/im-select#to-get-current-keyboard-locale) 안내서를 참조하십시오. 일반적으로 키보드 레이아웃이 en_US 인 경우 입력 방법 키는 1033 (en_US의 로캘 ID)입니다. `LCID Decimal`열이 로컬 ID인 [이 페이지](https://www.science.co.il/language/Locale-codes.php)에서 로컬 ID를 찾을 수도 있습니다.

-1.  Configure `vim.autoSwitchInputMethod`.
+1. Configure `vim.autoSwitchInputMethod`.

-    - MacOS:
+   - MacOS:

-       `com.apple.keylayout.US` 과 `im-select` 은  `/usr/local/bin`에 있다. 구성은 다음과 같다.:
+     `com.apple.keylayout.US` 과 `im-select` 은 `/usr/local/bin`에 있다. 구성은 다음과 같다.:

-      ```json
-      "vim.autoSwitchInputMethod.enable": true,
-      "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US",
-      "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
-      "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
-      ```
+     ```json
+     "vim.autoSwitchInputMethod.enable": true,
+     "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US",
+     "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
+     "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
+     ```

-    - Windows:
+   - Windows:

-       `1033`  (en_US)과 `im-select.exe` 의 입력 방법 키는`D:/bin`에 있습니다. 구성은 다음과 같습니다:
+     `1033` (en_US)과 `im-select.exe` 의 입력 방법 키는`D:/bin`에 있습니다. 구성은 다음과 같습니다:

-      ```json
-      "vim.autoSwitchInputMethod.enable": true,
-      "vim.autoSwitchInputMethod.defaultIM": "1033",
-      "vim.autoSwitchInputMethod.obtainIMCmd": "D:\\bin\\im-select.exe",
-      "vim.autoSwitchInputMethod.switchIMCmd": "D:\\bin\\im-select.exe {im}"
-      ```
+     ```json
+     "vim.autoSwitchInputMethod.enable": true,
+     "vim.autoSwitchInputMethod.defaultIM": "1033",
+     "vim.autoSwitchInputMethod.obtainIMCmd": "D:\\bin\\im-select.exe",
+     "vim.autoSwitchInputMethod.switchIMCmd": "D:\\bin\\im-select.exe {im}"
+     ```

위의`{im}`인수는 입력 방법을 나타내는 `im-select` 에 전달되는 명령 행 옵션입니다. 대체 프로그램을 사용하여 입력 방법을 전환하는 경우 유사한 옵션을 구성에 추가해야합니다. 예를 들어, 입력 방법을 전환하기 위해 프로그램의 사용법이`my-program -s imKey` 인 경우,`vim.autoSwitchInputMethod.switchIMCmd` 는 `/path/to/my-program -s {im}`이어야합니다.

-
### ReplaceWithRegister

- [ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister)를 기반으로 기존 텍스트를 레지스터의 내용으로 쉽게 바꿀 수 있습니다.
+[ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister)를 기반으로 기존 텍스트를 레지스터의 내용으로 쉽게 바꿀 수 있습니다.

-| 환경                 | 설명                        | 타입    | 기본 값 |
-| ----------------------- | ---------------------------------- | ------- | ------------- |
-| vim.replaceWithRegister | Enable/disable ReplaceWithRegister | Boolean | false         |
+| 환경                    | 설명                               | 타입    | 기본 값 |
+| ----------------------- | ---------------------------------- | ------- | ------- |
+| vim.replaceWithRegister | Enable/disable ReplaceWithRegister | Boolean | false   |

-활성화되면`gr`  (예 : "go replace")을 입력 한 다음 레지스터 내용으로 대체하려는 텍스트를 설명하는 동작을 입력하십시오.
+활성화되면`gr` (예 : "go replace")을 입력 한 다음 레지스터 내용으로 대체하려는 텍스트를 설명하는 동작을 입력하십시오.

-| Motion 명령어          | 설명                                                                             |
-| ----------------------- | --------------------------------------------------------------------------------------- |
-| `[count]["a]gr<motion>` |모션에 설명 된 텍스트를 지정된 레지스터의 내용으로 바꿉니다.   |
-| `[count]["a]grr`        |  \[count\] 줄 또는 현재 줄을 지정된 레지스터의 내용으로 바꿉니다.|
-| `{Visual}["a]gr`        | 선택한 레지스터를 지정된 레지스터의 내용으로 바꿉니다.       |
+| Motion 명령어           | 설명                                                             |
+| ----------------------- | ---------------------------------------------------------------- |
+| `[count]["a]gr<motion>` | 모션에 설명 된 텍스트를 지정된 레지스터의 내용으로 바꿉니다.     |
+| `[count]["a]grr`        | \[count\] 줄 또는 현재 줄을 지정된 레지스터의 내용으로 바꿉니다. |
+| `{Visual}["a]gr`        | 선택한 레지스터를 지정된 레지스터의 내용으로 바꿉니다.           |

## 🎩 VSCodeVim 트릭!

@@ -628,35 +628,35 @@ VSCode에는 멋진 트릭이 많이 있으며 그 중 일부를 보존하려고

  당신은 Mac유저 입니까? [mac-setup](#mac) 지침을 살펴 보셨습니까?

--  `<esc>`로 닫을 수없는 성가신 정보 / 알림 / 팝업이 있습니다! ! 그리고 나는 단편적인 지식 밖에 없어 좀 더 알고 싶습니다.
+- `<esc>`로 닫을 수없는 성가신 정보 / 알림 / 팝업이 있습니다! ! 그리고 나는 단편적인 지식 밖에 없어 좀 더 알고 싶습니다.

-  `shift+<esc>` 를 눌러 모든 상자를 닫으십���오.
+`shift+<esc>` 를 눌러 모든 상자를 닫으십시오.

- Zen 모드 또는 상태 표시 줄이 비활성화 된 경우 명령 줄을 사용하려면 어떻게해야합니까?

-   이 확장 기능은 재 맵핑 가능한 명령을 표시하여 vscode 스타일의 빠른 선택, 제한된 기능 버전의 명령 줄을 보여줍니다. VS 코드의 keybindings.json 설정 파일에서 다음과 같이 다시 매핑 할 수 있습니다.
+이 확장 기능은 재 맵핑 가능한 명령을 표시하여 vscode 스타일의 빠른 선택, 제한된 기능 버전의 명령 줄을 보여줍니다. VS 코드의 keybindings.json 설정 파일에서 다음과 같이 다시 매핑 할 수 있습니다.

-  ```json
-  {
-    "key": "shift+;",
-    "command": "vim.showQuickpickCmdLine",
-    "when": "editorTextFocus && vim.mode != 'Insert'"
-  }
-  ```
+```json
+{
+  "key": "shift+;",
+  "command": "vim.showQuickpickCmdLine",
+  "when": "editorTextFocus && vim.mode != 'Insert'"
+}
+```

-  Or for Zen mode only:
+Or for Zen mode only:

-  ```json
-  {
-    "key": "shift+;",
-    "command": "vim.showQuickpickCmdLine",
-    "when": "inZenMode && vim.mode != 'Insert'"
-  }
-  ```
+```json
+{
+  "key": "shift+;",
+  "command": "vim.showQuickpickCmdLine",
+  "when": "inZenMode && vim.mode != 'Insert'"
+}
+```

- 단어 줄 바꿈을 사용하여 각 표시 줄에서 커서를 어떻게 이동합니까?

-  단어 줄 바꿈이 있고<kbd>j</kbd>, <kbd>k</kbd>, <kbd>↓</kbd> 또는 <kbd>↑</kbd>를 사용할 때 커서가 줄 바꿈 된 각 줄에 들어가도록하려면  keybindings.json 설정 파일에서 다음을 설정하십시오.
+  단어 줄 바꿈이 있고<kbd>j</kbd>, <kbd>k</kbd>, <kbd>↓</kbd> 또는 <kbd>↑</kbd>를 사용할 때 커서가 줄 바꿈 된 각 줄에 들어가도록하려면 keybindings.json 설정 파일에서 다음을 설정하십시오.

  <!-- prettier-ignore -->
  ```json
diff --git a/Korea/STYLE.md b/Korea/STYLE.md
index 8e359a6..8ff950d 100644
--- a/Korea/STYLE.md
+++ b/Korea/STYLE.md
@@ -17,7 +17,7 @@
- `const`를 사용할 수 없다면, `let`을 사용하십시오; 절대 `var`은 안됩니다.

  **이론적 근거:** `var`은 많은 경우 프로그래머를 trips합니다 - hoisting and closure capture는 두 가지 큰 요소입니다.
-차이점을 고려하십시오.
+  차이점을 고려하십시오.

for (var j = 0; j < 5; j++) { setTimeout(() => console.log(j), 5) }
diff --git a/ROADMAP.md b/ROADMAP.md
index a7bb6ea..aaec352 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -18,24 +18,24 @@

이들은 Vim의 큰 기능으로, 일반적���로 구현할 순서대로되어 있습니다.

- Status Command
- 일반 모드
- 삽입 모드
- 비주얼 모드
- 비주얼 라인 모드
- 숫자 접두사
- . 연산자
- / 과 ? 로 검색
- 실행 취소 / 재실행
- ⚠️ 명령 재 매핑
- ⚠️ 마크
- 텍스트 객체
- 비주얼 블록 모드
- 교체 모드
- 다중 선택 모드
- ⚠️ 매크로
- ⚠️ Buffer/Window/Tab
+ Status Command
+ ------------------ ------------------
+ 일반 모드
+ 삽입 모드
+ 비주얼 모드
+ 비주얼 라인 모드
+ 숫자 접두사
+ . 연산자
+ / 과 ? 로 검색
+ 실행 취소 / 재실행
+ ⚠️ 명령 재 매핑
+ ⚠️ 마크
+ 텍스트 객체
+ 비주얼 블록 모드
+ 교체 모드
+ 다중 선택 모드
+ ⚠️ 매크로
+ ⚠️ Buffer/Window/Tab

이제 우리가 찾을 수있는 모든 알려진 Vim 명령의 전체 목록을 따릅니다.

@@ -46,193 +46,193 @@

좌우 동작

- Status Command Description
- 🔢 h 왼쪽 (또한 CTRL-H, BS 또는 왼쪽 키)
- 🔢 l 오른쪽 (또한 스페이스 또는 오른쪽 키)
- 0 줄의 첫 번째 문자 (또한 Home 키)
- ^ 행의 첫 번��� 공백이 아닌 문자
- 🔢 $ 줄의 마지막 문자 (N-1 줄 아래) (또한 End 키)
- g0 화면 줄의 첫 문자 (줄 바꿈시 "0"과 다름)
- g^ 화면 줄에서 공백이 아닌 첫 문자로 줄 바꾸기 (줄 바꿈시 "^"와 다름)
- 🔢 g$ 화면 줄의 마지막 문자 (줄 바꿈시 "\ $"와 다름)
- gm 화면 라인의 중간
- 🔢 | N 열까지 (기본값 : 1)
- 🔢 f{char} 오른쪽으로 {char}의 N 번째 발생
- 🔢 F{char} 왼쪽으로 {char}의 N 번째 발생
- 🔢 t{char} 오른쪽으로 {char}의 N 번째 발생 전까지
- 🔢 T{char} 왼쪽으로 {char}의 N 번째 발생 전까지
- 🔢 ; 마지막 "f", "F", "t"또는 "T"N 번 반복
- 🔢 , 반대 방향으로 마지막 "f", "F", "t"또는 "T"N 번 반복
+ Status Command Description
+ ------------------ -------------- ------------------------------------------------------------------
+ 🔢 h 왼쪽 (또한 CTRL-H, BS 또는 왼쪽 키)
+ 🔢 l 오른쪽 (또한 스페이스 또는 오른쪽 키)
+ 0 줄의 첫 번째 문자 (또한 Home 키)
+ ^ 행의 첫 번째 공백이 아닌 문자
+ 🔢 $ 줄의 마지막 문자 (N-1 줄 아래) (또한 End 키)
+ g0 화면 줄의 첫 문자 (줄 바꿈시 "0"과 다름)
+ g^ 화면 줄에서 공백이 아닌 첫 문자로 줄 바꾸기 (줄 바꿈시 "^"와 다름)
+ 🔢 g$ 화면 줄의 마지막 문자 (줄 바꿈시 "\ $"와 다름)
+ gm 화면 라인의 중간
+ 🔢 | N 열까지 (기본값 : 1)
+ 🔢 f{char} 오른쪽으로 {char}의 N 번째 발생
+ 🔢 F{char} 왼쪽으로 {char}의 N 번째 발생
+ 🔢 t{char} 오른쪽으로 {char}의 N 번째 발생 전까지
+ 🔢 T{char} 왼쪽으로 {char}의 N 번째 발생 전까지
+ 🔢 ; 마지막 "f", "F", "t"또는 "T"N 번 반복
+ 🔢 , 반대 방향으로 마지막 "f", "F", "t"또는 "T"N 번 반복

상하 동작

- Status Command Description
- 🔢 k N 줄 위로 (CTRL-P 및 Up)
- 🔢 j N 줄 아래로 (또한 CTRL-J, CTRL-N, NL 및 Down)
- 🔢 - 공백이 아닌 첫 번째 문자에서 N 줄 위로
- 🔢 + 공백이 아닌 첫 번째 문자에서 N 줄 아래로 (CTRL-M 및 CR)
- 🔢 _ 공백이 아닌 첫 번째 문자에서 N-1 줄 아래로
- 🔢 G 공백이 아닌 첫 번째 문자에서 goto 행 N (기본값 : 마지막 행)
- 🔢 gg 공백이 아닌 첫 번째 문자의 goto 행 N (기본값 : 첫 번째 행)
- 🔢 % 파일에서 N 줄 아래로 이동; N을 지정해야합니다. 그렇지 않으면 % 명령입니다.
- 🔢 gk N 화면 줄 위로 (줄 바꿈시 "k"와 다름)
- 🔢 gj N 화면 줄 아래로 (줄 바꿈시 "j"와 다름)
+ Status Command Description
+ ------------------ --------- --------------------------------------------------------------------------
+ 🔢 k N 줄 위로 (CTRL-P 및 Up)
+ 🔢 j N 줄 아래로 (또한 CTRL-J, CTRL-N, NL 및 Down)
+ 🔢 - 공백이 아닌 첫 번째 문자에서 N 줄 위로
+ 🔢 + 공백이 아닌 첫 번째 문자에서 N 줄 아래로 (CTRL-M 및 CR)
+ 🔢 _ 공백이 아닌 첫 번째 문자에서 N-1 줄 아래로
+ 🔢 G 공백이 아닌 첫 번째 문자에서 goto 행 N (기본값 : 마지막 행)
+ 🔢 gg 공백이 아닌 첫 번째 문자의 goto 행 N (기본값 : 첫 번째 행)
+ 🔢 % 파일에서 N 줄 아래로 이동; N을 지정해야합니다. 그렇지 않으면 % 명령입니다.
+ 🔢 gk N 화면 줄 위로 (줄 바꿈시 "k"와 다름)
+ 🔢 gj N 화면 줄 아래로 (줄 바꿈시 "j"와 다름)

텍스트 객체 동작

- Status Command Description
- 🔢 w 앞으로 N 단어
- 🔢 W 공백으로 분리 된 N 개의 단어 앞으로
- 🔢 e N 번째 단어의 끝까지 N 단어
- 🔢 E 공백으로 분리 된 N 번째 단어의 끝으로 N 단어 앞으로
- 🔢 b 뒤로 N 단어
- 🔢 B 공백으로 분리 된 N개의 단어 뒤로
- 🔢 ge N번째 단어의 끝까지 N단어
- 🔢 gE 공백으로 분리 된 N 번째 단어의 끝까지 N 단어
- 🔢 ) 앞으로 N 문장
- 🔢 ( 뒤로 N 문장
- 🔢 } 앞으로 N 단락
- 🔢 { 뒤로 N 단락
- 🔢 ]] 섹션 시작시 N 섹션 앞으로
- 🔢 [[ 섹션 시작시 뒤로 N 섹션
- 🔢 ][ 섹션 끝에서 N 섹션 앞으로
- 🔢 [] 섹션 끝에서 뒤로 N 섹션
- 🔢 [( 닫히지 않은 '('로 N 번
- 🔢 [{ 닫히지 않은 '{'로 N 번
- ⬇️ 🔢 [m 메소드 시작으로 다시 N 번 (Java의 경우)
- ⬇️ 🔢 [M 메소드의 끝까지 N 번 (Java의 경우)
- 🔢 ]) 닫히지 않은 ')'까지 N 번 전달
- 🔢 ]} 닫히지 않은 '}'까지 N 번 전달
- ⬇️ 🔢 ]m 메소드 시작까지 N 배 앞으로 (Java의 경우)
- ⬇️ 🔢 ]M 메소드의 끝까지 N 배 앞으로 (Java의 경우)
- ⬇️ 🔢 [# 닫히지 않은 "#if"또는 "#else"로 다시 N 번
- ⬇️ 🔢 ]# 닫히지 않은 "#else"또는 "#endif"로 N 번 전달
- ⬇️ 🔢 [* C 주석 "/ *"의 시작으로 다시 N 번
- ⬇️ 🔢 ]* C 주석 "* /"의 끝까지 N 배 앞으로
+ Status Command Description
+ ------------------ ---------- ---------------------------------------------------
+ 🔢 w 앞으로 N 단어
+ 🔢 W 공백으로 분리 된 N 개의 단어 앞으로
+ 🔢 e N 번째 단어의 끝까지 N 단어
+ 🔢 E 공백으로 분리 된 N 번째 단어의 끝으로 N 단어 앞으로
+ 🔢 b 뒤로 N 단어
+ 🔢 B 공백으로 분리 된 N개의 단어 뒤로
+ 🔢 ge N번째 단어의 끝까지 N단어
+ 🔢 gE 공백으로 분리 된 N 번째 단어의 끝까지 N 단어
+ 🔢 ) 앞으로 N 문장
+ 🔢 ( 뒤로 N 문장
+ 🔢 } 앞으로 N 단락
+ 🔢 { 뒤로 N 단락
+ 🔢 ]] 섹션 시작시 N 섹션 앞으로
+ 🔢 [[ 섹션 시작시 뒤로 N 섹션
+ 🔢 ][ 섹션 끝에서 N 섹션 앞으로
+ 🔢 [] 섹션 끝에서 뒤로 N 섹션
+ 🔢 [( 닫히지 않은 '('로 N 번
+ 🔢 [{ 닫히지 않은 '{'로 N 번
+ ⬇️ 🔢 [m 메소드 시작으로 다시 N 번 (Java의 경우)
+ ⬇️ 🔢 [M 메소드의 끝까지 N 번 (Java의 경우)
+ 🔢 ]) 닫히지 않은 ')'까지 N 번 전달
+ 🔢 ]} 닫히지 않은 '}'까지 N 번 전달
+ ⬇️ 🔢 ]m 메소드 시작까지 N 배 앞으로 (Java의 경우)
+ ⬇️ 🔢 ]M 메소드의 끝까지 N 배 앞으로 (Java의 경우)
+ ⬇️ 🔢 [# 닫히지 않은 "#if"또는 "#else"로 다시 N 번
+ ⬇️ 🔢 ]# 닫히지 않은 "#else"또는 "#endif"로 N 번 전달
+ ⬇️ 🔢 [* C 주석 "/ *"의 시작으로 다시 N 번
+ ⬇️ 🔢 ]* C 주석 "* /"의 끝까지 N 배 앞으로

패턴 검색

- Status Command Description Note
- ✅ ⭐ 🔢 /{pattern}[/[offset]]<CR> {pattern}의 N 번째 발생을 검색 현재는 JavaScript 정규식 만 지원하지만 Vim의 사내 정규식 엔진은 지원하지 않습니다.
- ✅ ⭐ 🔢 ?{pattern}[?[offset]]<CR> {pattern}의 N 번째 발생을 뒤로 검색 현재는 JavaScript 정규식 만 지원하지만 Vim의 사내 정규식 엔진은 지원하지 않습니다.
- ⚠️ 🔢 /<CR> 정방향으로 마지막 검색 반복 {count}는 지원되지 않습니다.
- ⚠️ 🔢 ?<CR> 역방향으로 마지막 검색 반복 {count}는 지원되지 않습니다.
- 🔢 n 마지막 검색 반복
- 🔢 N 반대 방향으로 마지막 검색 반복
- 🔢 * 커서 아래에서 식별자를 검색
- 🔢 # 커서 아래에서 식별자를 뒤로 검색
- 🔢 g* "*"와 비슷하지만 부분 일치도 찾습니다
- 🔢 g# "#"과 같지만 부분 일치 항목도 찾습니다.
- gd 커서 아래 식별자의 로컬 선언으로 이동
- ⬇️ gD 커서 아래에 식별자의 goto 글로벌 선언

-## 마크와

- Status Command Description
- m{a-zA-Z} {a-zA-Z} 표시로 현재 위치 표시
- `{a-z} 현재 파일에서 {a-z}로 이동
- `{A-Z} 모든 파일에서 {A-Z}로 이동
- `{0-9} Vim이 이전에 나간 위치로 이동
- `` 마지막 점프 전 위치로 이동
- ⬇️ `" 이 파일을 마지막으로 편집 할 때 위치로 이동
- `[ 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- '[ 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- `] 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- '] 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다
- ⬇️ `< (이전) 시각 영역의 시작으로 이동
- ⬇️ `> (이전) 시각 영역의 끝으로 이동
- `. 이 파일에서 마지막 변경 위치로 이동
- '. 이 파일에서 마지막 변경 위치로 이동
- ⬇️ '{a-zA-Z0-9[]'"<>.} `와 동일하지만 첫 번째 공백이 아닌 행
- ⬇️ :marks 활성마크를 인쇄
- 🔢 CTRL-O 점프 목록에서 N 번째 이전 위치로 이동
- 🔢 CTRL-I 점프 목록에서 N 번쨰 새로운 위치로 이동
- ⬇️ :ju[mps] 점프리스트를 인쇄
+ Status Command Description
+ ------------------------- ---------------------------------- ---------------------------------------
+ ✅ ⭐ 🔢 /{pattern}[/[offset]]<CR> {pattern}의 N 번째 발생을 검색
+ ✅ ⭐ 🔢 ?{pattern}[?[offset]]<CR> {pattern}의 N 번째 발생을 뒤로 검색
+ ⚠️ 🔢 /<CR> 정방향으로 마지막 검색 반복
+ ⚠️ 🔢 ?<CR> 역방향으로 마지막 검색 반복
+ 🔢 n 마지막 검색 반복
+ 🔢 N 반대 방향으로 마지막 검색 반복
+ 🔢 * 커서 아래에서 식별자를 검색
+ 🔢 # 커서 아래에서 식별자를 뒤로 검색
+ 🔢 g* "*"와 비슷하지만 부분 일치도 찾습니다
+ 🔢 g# "#"과 같지만 부분 일치 항목도 찾습니다.
+ gd 커서 아래 식별자의 로컬 선언으로 이동
+ ⬇️ gD 커서 아래에 식별자의 goto 글로벌 선언

+## 마크와
+
+| Status | Command | Description |
+| ------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------- |
+| ✅ | m{a-zA-Z} | {a-zA-Z} 표시로 현재 위치 표시 |
+| ✅ | {a-z} | 현재 파일에서 {a-z}로 이동 | +| :white_check_mark: | {A-Z} | 모든 파일에서 {A-Z}로 이동 |
+| ✅ | {0-9} | Vim이 이전에 나간 위치로 이동 | +| :white_check_mark: | `` | 마지막 점프 전 위치로 이동 | +| :arrow_down: | " | 이 파일을 마지막으로 편집 할 때 위치로 이동 |
+| ✅ | [ | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 | +| :white_check_mark: | '[ | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 | +| :white_check_mark: | ] | 이전에 운영 한 텍스트��� 시작으로 이동하거나 텍스트를 넣습니다 |
+| ✅ | '] | 이전에 운영 한 텍스트의 시작으로 이동하거나 텍스트를 넣습니다 |
+| ⬇️ | < | (이전) 시각 영역의 시작으로 이동 | +| :arrow_down: | > | (이전) 시각 영역의 끝으로 이동 |
+| ✅ | . | 이 파일에서 마지막 변경 위치로 이동 | +| :white_check_mark: | '. | 이 파일에서 마지막 변경 위치로 이동 | +| :arrow_down: | '{a-zA-Z0-9[]'"<>.} | 와 동일하지만 첫 번째 공백이 아닌 행 |
+| ⬇️ | :marks | 활성마크를 인쇄 |
+| ✅ | 🔢 CTRL-O | 점프 목록에서 N 번째 이전 위치로 이동 |
+| ✅ | 🔢 CTRL-I | 점프 목록에서 N 번쨰 새로운 위치로 이동 |
+| ⬇️ | :ju[mps] | 점프리스트를 인쇄 |

다양한 동작

- Status Command Description
- % 이 줄에서 다음 중괄호, 대괄호, 주석 또는 "#if"/ "#else"/ "# endif"를 찾아서 해당 행으로 이동하십시오.
+ Status Command Description
+ ------------------ ------------------- -----------------------------------------------------------------------------------------------------
+ % 이 줄에서 다음 중괄호, 대괄호, 주석 또는 "#if"/ "#else"/ "# endif"를 찾아서 해당 행으로 이동하십시오.
🔢 H 공백이 아닌 첫 번째 창에서 N 번째 줄로 이동
M 공백이 아닌 첫 번째 창에서 가운데 줄로 이동
🔢 L 첫 번째 공백이 아닌 바닥에서 N 번째 줄로 이동
- ⬇️ 🔢 go 버퍼의 N 번째 바이트로 이동
- ⬇️ :[range]go[to][off] 버퍼의 [off] 바이트로 이동
+ ⬇️ 🔢 go 버퍼의 N 번째 바이트로 이동
+ ⬇️ :[range]go[to][off] 버퍼의 [off] 바이트로 이동

태그 사용

VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순위가 낮습니다. 아직 명령 팔레트에서 사용해보십시오!

- Status Command Description
- ⬇️ :ta[g][!] {tag} 태그 {tag}로 이동
- ⬇️ :[count]ta[g][!] 태그 목록에서 [count] '번째 최신 태그로 이동
- ⬇️ CTRL-] 변경 사항이 없으면 커서 아래의 태그로 이동
- ⬇️ :ts[elect][!] [tag] 일치하는 태그를 나열하고 이동할 태그를 선택하십시오.
- ⬇️ :tj[ump][!] [tag] 일치하는 태그가 여러 개인 경우 [tag] 태그로 이동하거나 목록에서 선택하십시오.
- ⬇️ :lt[ag][!] [tag] [tag] 태그로 이동하여 위치 목록에 일치하는 태그 추가 인쇄 태그 목록
- ⬇️ :tagsa 인쇄 태그 목록
- ⬇️ 🔢 CTRL-T 태그 목록에서 N 번째 오래된 태그에서 뒤로 이동
- ⬇️ :[count]po[p][!] 태그 목록에서 [count] 번째 오래된 태그에서 뒤로 이동
- ⬇️ :[count]tn[ext][!] 다음으로 일치하는 [count] 번째 태그로 이동
- ⬇️ :[count]tp[revious][!] 이전 일치하는 [count] 번째 태그로 이동
- ⬇️ :[count]tr[ewind][!] 일치하는 [count] 번째 태그로 이동
- ⬇️ :tl[ast][!] 마지막으로 일치하는 태그로 이동
- ⬇️ :pt[ag] {tag} {tag} 태그를 표시하기 위해 미리보기 창을 엽니 다.
- ⬇️ CTRL-W } CTRL-]와 유사하지만 미리보기 창에 태그 표시
- ⬇️ :pts[elect] ": tselect"와 같지만 미리보기 창에 태그 표시
- ⬇️ :ptj[ump] ": tjump"와 같지만 미리보기 창에 태그 표시
- ⬇️ :pc[lose] 태그 미리보기 창 닫기
- ⬇️ CTRL-W z 태그 미리보기 창 닫기`
+ Status Command Description
+ ------------ ---------------------- -----------------------------------------------------------------------------
+ ⬇️ :ta[g][!] {tag} 태그 {tag}로 이동
+ ⬇️ :[count]ta[g][!] 태그 목록에서 [count] '번째 최신 태그로 이동
+ ⬇️ CTRL-] 변경 사항이 없으면 커서 아래의 태그로 이동
+ ⬇️ :ts[elect][!] [tag] 일치하는 태그를 나열하고 이동할 태그를 선택하십시오.
+ ⬇️ :tj[ump][!] [tag] 일치하는 태그가 여러 개인 경우 [tag] 태그로 이동하거나 목록에서 선택하십시오.
+ ⬇️ :lt[ag][!] [tag] [tag] 태그로 이동하여 위치 목록에 일치하는 태그 추가 인쇄 태그 목록
+ ⬇️ :tagsa 인쇄 태그 목록
+ ⬇️ 🔢 CTRL-T 태그 목록에서 N 번째 오래된 태그에서 뒤로 이동
+ ⬇️ :[count]po[p][!] 태그 목록에서 [count] 번째 오래된 태그에서 뒤로 이동
+ ⬇️ :[count]tn[ext][!] 다음으로 일치하는 [count] 번째 태그로 이동
+ ⬇️ :[count]tp[revious][!] 이전 일치하는 [count] 번째 태그로 이동
+ ⬇️ :[count]tr[ewind][!] 일치하는 [count] 번째 태그로 이동
+ ⬇️ :tl[ast][!] 마지막으로 일치하는 태그로 이동
+ ⬇️ :pt[ag] {tag} {tag} 태그를 표시하기 위해 미리보기 창을 엽니 다.
+ ⬇️ CTRL-W } CTRL-]와 유사하지만 미리보기 창에 태그 표시
+ ⬇️ :pts[elect] ": tselect"와 같지만 미리보기 창에 태��� 표시
+ ⬇️ :ptj[ump] ": tjump"와 같지만 미리보기 창에 태그 표시
+ ⬇️ :pc[lose] 태그 미리보기 창 닫기
+ ⬇️ CTRL-W z 태그 미리보기 창 닫기`

스크롤

- Status Command Description
- 🔢 CTRL-E window N 줄 아래로 내려갑니다 (기본값: 1)
+ Status Command Description
+ ------------------ ------------- -------------------------------------------------
+ 🔢 CTRL-E window N 줄 아래로 내려갑니다 (기본값: 1)
🔢 CTRL-D window N 줄 아래로 내려갑니다(기본값: 1/2 window)
- 🔢 CTRL-F window N 페이지 앞으로 (아래로)
- 🔢 CTRL-Y window N 줄 위쪽을 향합니다 (기본값: 1)
- 🔢 CTRL-U window N 줄 위쪽을 향합니다 (기본값: 1/2 window)
- 🔢 CTRL-B window N 페이지 뒤로 (위로)
- z CR or zt window 맨 위에있는 현재 행 다시 그리기
- z. or zz window 가운데에 현재 행 다시 그리기
- z- or zb window 맨 아래에 현재 행 다시 그리기
+ 🔢 CTRL-F window N 페이지 앞으로 (아래로)
+ 🔢 CTRL-Y window N 줄 위쪽을 향합니다 (기본값: 1)
+ 🔢 CTRL-U window N 줄 위쪽을 향합니다 (기본값: 1/2 window)
+ 🔢 CTRL-B window N 페이지 뒤로 (위로)
+ z CR or zt window 맨 위에있는 현재 행 다시 그리기
+ z. or zz window 가운데에 현재 행 다시 그리기
+ z- or zb window 맨 아래에 현재 행 다시 그리기

'wrap'이 꺼져있을 때만 작동합니다.

- Status Command Description Note
- ✅ ⭐ 🔢 zh 화면 N 문자를 오른쪽으로 스크롤 코드에서 가로 스크롤 막대의 이동 여부에 관계없이이 명령을 실행할 때 커서는 항상 이동합니다.
- ✅ ⭐ 🔢 zl 화면 N 문자를 왼쪽으로 스크롤 위와 같음
- ✅ ⭐ 🔢 zH 화면 너비를 화면 너비의 오른쪽으로 스크롤 위와 같음
- ✅ ⭐ 🔢 zL 화면 너비를 화면 너비의 왼쪽으로 스크롤 위와 같음
+ Status Command Description Note
+ ------------------------- --------- ----------------------------------------- -------------------------------------------------------------------------------------------
+ ✅ ⭐ 🔢 zh 화면 N 문자를 오른쪽으로 스크롤 코드에서 가로 스크롤 막대의 이동 여부에 관계없이이 명령을 실행할 때 커서는 항상 이동합니다.
+ ✅ ⭐ 🔢 zl 화면 N 문자를 왼쪽으로 스크롤 위와 같음
+ ✅ ⭐ 🔢 zH 화면 너비를 화면 너비의 오른쪽으로 스크롤 위와 같음
+ ✅ ⭐ 🔢 zL 화면 너비를 화면 너비의 왼쪽으로 스크롤 위와 같음

텍스트 삽입

- Status Command Description
- 🔢 a 커서 다음에 텍스트 추가 (N 회)
- 🔢 A 줄의 끝에 텍스트를 추가하십시오 (N 번)
- 🔢 i 커서 앞에 텍스트 삽입 (N 번) (또한 삽입)
- 🔢 I 첫 번째 공백이 아닌 줄 앞에 텍스트를 삽입하십시오 (N 번)
- 🔢 gI 1 열에 텍스트 삽입 (N 회)
- gi 마지막 변경이 끝��� 때 삽입
- 🔢 o 현재 줄 아래에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
- 🔢 O 현재 줄 위에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
+ Status Command Description
+ ------------------ --------- --------------------------------------------------------
+ 🔢 a 커서 다음에 텍스트 추가 (N 회)
+ 🔢 A 줄의 끝에 텍스트를 추가하십시오 (N 번)
+ 🔢 i 커서 앞에 텍스트 삽입 (N 번) (또한 삽입)
+ 🔢 I 첫 번째 공백이 아닌 줄 앞에 텍스트를 삽입하십시오 (N 번)
+ 🔢 gI 1 열에 텍스트 삽입 (N 회)
+ gi 마지막 변경이 끝날 때 삽입
+ 🔢 o 현재 줄 아래에 새 줄을 열고 텍스트를 추가하십시오 (N 번)
+ 🔢 O 현재 줄 위에 새 줄을 열고 텍스트를 추가하십시오 (N 번)

비주얼 블록 모드에서:

- Status Command Description
- I 선택한 모든 줄 앞에 같은 텍스트를 삽입
- A 선택한 모든 줄 다음에 같은 텍스트를 추가하십시오
+ Status Command Description
+ ------------------ ------- ------------------------------------------------
+ I 선택한 모든 줄 앞에 같은 텍스트를 삽입
+ A 선택한 모든 줄 다음에 같은 텍스트를 추가하십시오

모드 키 삽입

@@ -240,73 +240,73 @@ VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순

Status Command Description
- Esc
- CTRL-C
- CTRL-O {command}
+ Esc
+ CTRL-C
+ CTRL-O {command}

이동:

- Status Command Description
- cursor keys 커서를 왼쪽/오른쪽/위/아래로 이동
- shift-left/right 한 단어 왼쪽/오른쪽
- shift-up/down 한 화면 뒤로/앞으로
- End 줄의 마지막 문자 다음에 커서
- Home 줄의 첫 문자에 커서
+ Status Command Description
+ ------------------ ---------------- ---------------------------------
+ cursor keys 커서를 왼쪽/오른쪽/위/아래로 이동
+ shift-left/right 한 단어 왼쪽/오른쪽
+ shift-up/down 한 화면 뒤로/앞으로
+ End 줄의 마지막 문자 다음에 커서
+ Home 줄의 첫 문자에 커서

삽입 모드의 특수 키

- Status Command Description Note
- ⬇️ CTRL-V {char}.. 문자를 문자 그대로 삽입하거나 10 진수 바이트 값을 입력하십시오.
- ⚠️ NL or CR or CTRL-M or CTRL-J 새 줄을 시작하다 CTRL-M 및 CTRL-J는 지원되지 않습니다
- CTRL-E 커서 아래에서 문자를 삽입
- CTRL-Y 커서 위에서 문자를 삽입
- ✅ ⭐ CTRL-A 이전에 삽입 한 텍스트 삽입 이전 삽입 세션에서 작성된 이전 문서 변경 사항을 적용하고 커서 아래에서 발생하는 변경 사항 만 적용합니다
- ✅ ⭐ CTRL-@ 이전에 삽입 한 텍스트 삽입 및 삽입 모드 중지 위와 같음
- CTRL-R {0-9a-z%#:.-="} 레지스터의 내용을 삽입
- CTRL-N 커서 앞에 식별자의 다음 일치를 삽입
- CTRL-P 커서 앞에 식별자의 이전 일치를 삽입
- ⬇️ CTRL-X ... 다양한 방법으로 커서 앞에있는 단어를 완성하십시오
- BS or CTRL-H 커서 앞의 문자를 삭제
- Del 커서 아래의 문자를 삭제
- CTRL-W 커서 앞의 단어를 삭제
- CTRL-U 현재 줄에 입력한 모든 문자를 삭제
- CTRL-T 현재 줄 앞에 한 개의 들여 쓰기 폭을 삽입
- CTRL-D 현재 줄 앞에 들여 쓰기 한 이동 폭 삭제
- ⬇️ 0 CTRL-D 현재 줄의 들여 쓰기를 모두 삭제하십시오.
- ⬇️ ^ CTRL-D 현재 줄에서 들여 쓰기를 모두 삭제하고 다음 줄 들여 쓰기를 복원
+ Status Command Description Note
+ ------------------------- ---------------------------- --------------------------------------------------------------- -------------------------------------------------------------------------------------------------------
+ ⬇️ CTRL-V {char}.. 문자를 문자 그대로 삽입하거나 10 진수 바이트 값을 입력하십시오.
+ ⚠️ NL or CR or CTRL-M or CTRL-J 새 줄을 시작하다 CTRL-M 및 CTRL-J는 지원되지 않습니다
+ CTRL-E 커서 아래에서 문자를 삽입
+ CTRL-Y 커서 위에서 문자를 삽입
+ ✅ ⭐ CTRL-A 이전에 삽입 한 텍스트 삽입 이전 삽입 세션에서 작성된 이전 문서 변경 사항을 적용하고 커서 아래에서 발생하는 변경 사항 만 적용합니다
+ ✅ ⭐ CTRL-@ 이전에 삽입 한 텍스트 삽입 및 삽입 모드 중지 위와 같음
+ CTRL-R {0-9a-z%#:.-="} 레지스터의 내용을 삽입
+ CTRL-N 커서 앞에 식별자의 다음 일치를 삽입
+ CTRL-P 커서 앞에 식별자의 이전 일치를 삽입
+ ⬇️ CTRL-X ... 다양한 방법으로 커서 앞에있는 단어를 완성하십시오
+ BS or CTRL-H 커서 앞의 문자를 삭제
+ Del 커서 아���의 문자를 삭제
+ CTRL-W 커서 앞의 단어를 삭제
+ CTRL-U 현재 줄에 입력한 모든 문자를 삭제
+ CTRL-T 현재 줄 앞에 한 개의 들여 쓰기 폭을 삽입
+ CTRL-D 현재 줄 앞에 들여 쓰기 한 이동 폭 삭제
+ ⬇️ 0 CTRL-D 현재 줄의 들여 쓰기를 모두 삭제하십시오.
+ ⬇️ ^ CTRL-D 현재 줄에서 들여 쓰기를 모두 삭제하고 다음 줄 들여 쓰기를 복원

Di그래프

- Status Command Description
- :dig[raphs] di그래프의 현재 목록 표시
- ⬇️ :dig[raphs] {char1}{char2} {number} ... 목록에 digraph(s) 추가
+ Status Command Description
+ ------------------ --------------------------------------- -------------------------
+ :dig[raphs] di그래프의 현재 목록 표시
+ ⬇️ :dig[raphs] {char1}{char2} {number} ... 목록에 digraph(s) 추가

Special inserts

- Status Command Description
- ⚠️ :r [file] 커서 아래에 [file]의 내용을 삽입하십시오.
- ⚠️ :r! {command} 커서 아래에 {command}의 표준 출력을 삽입하십시오.
+ Status Command Description
+ --------- ------------- -------------------------------------------------
+ ⚠️ :r [file] 커서 아래에 [file]의 내용을 삽입하십시오.
+ ⚠️ :r! {command} 커서 아래에 {command}의 표준 출력을 삽입하십시오.

텍스트 삭제

- Status Command Description
- 🔢 x 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
- 🔢 Del 커서 아��� 및 뒤에 N 문자를 삭제 하십시오.
- 🔢 X 커서 앞의 N 문자를 삭제 하십시오.
- 🔢 d{motion} {motion}으로 이동한 텍스트를 삭제하십시오.
- {visual}d 강조 표시된 텍스트를 삭제
- 🔢 dd N 줄을 삭제
- 🔢 D 줄 끝까지 삭제 (및 N-1 줄 더)
- 🔢 J N-1 라인 가입 (EOL 삭제)
- {visual}J 강조 표시된 라인에 참여
- 🔢 gJ "J"와 같지만 공백을 삽입하지 않음
- {visual}gJ "{visual} J"와 같지만 공백을 삽입하지 않음
- :[range]d [x] [범위] 줄 삭제 [등록 x]
+ Status Command Description
+ ------------------ ---------------- ------------------------------------------
+ 🔢 x 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
+ 🔢 Del 커서 아래 및 뒤에 N 문자를 삭제 하십시오.
+ 🔢 X 커서 앞의 N 문자를 삭제 하십시오.
+ 🔢 d{motion} {motion}으로 이동한 텍스트를 삭제하십시오.
+ {visual}d 강조 표시된 텍스트를 삭제
+ 🔢 dd N 줄을 삭제
+ 🔢 D 줄 끝까지 삭제 (및 N-1 줄 더)
+ 🔢 J N-1 라인 가입 (EOL 삭제)
+ {visual}J 강조 표시된 라인에 참여
+ 🔢 gJ "J"와 같지만 공백을 삽입하지 않음
+ {visual}gJ "{visual} J"와 같지만 공백을 삽입하지 않음
+ :[range]d [x] [범위] 줄 삭제 [등록 x]

텍스트 복사 및 이동

@@ -329,224 +329,224 @@ VSCode는 Goto Symbol 태그를 매우 잘 지원하므로 다음은 우선 순

텍스트 변경

- Status Command Description Note
- 🔢 r{char} N 문자를 {char}로 바꾸십시오
- ⬇️ 🔢 gr{char} 레이아웃에 영향을주지 않고 N 문자를 교체
- ✅ ⭐ 🔢 R 바꾸기 모드로 들어가십시오 (입력 한 텍스트를 N 번 반복하십시오) {count} is not supported
- ⬇️ 🔢 gR 가상 교체 모드로 전환 : 대체 모드와 유사하지만 레이아웃에 영향을 미치지 않음
- {visual}r{char} 비주얼 블록, 비주얼 또는 비주얼 라인 모드에서 : 선택한 텍스트의 각 문자를 {char}로 바꿉니다.
+ Status Command Description Note
+ ------------------------- --------------- -------------------------------------------------------------------------------------------- ------------------------
+ 🔢 r{char} N 문자를 {char}로 바꾸십시오
+ ⬇️ 🔢 gr{char} 레이아웃에 영향을주지 않고 N 문자를 교체
+ ✅ ⭐ 🔢 R 바꾸기 모드로 들어가십시오 (입력 한 텍스트를 N 번 반복하십시오) {count} is not supported
+ ⬇️ 🔢 gR 가상 교체 모드로 전환 : 대체 모드와 유사하지만 레이아웃에 영향을 미치지 않음
+ {visual}r{char} 비주얼 블록, 비주얼 또는 비주얼 라인 모드에서 : 선택한 텍스트의 각 문자를 {char}로 바꿉니다.

(변경 = 텍스트 삭제 및 삽입 모드 입력)

- Status Command Description
- 🔢 c{motion} {motion}으로 이동 한 텍스트를 변경하십시오.
- {visual}c 강조 표시된 텍스트를 변경
- 🔢 cc N줄 바꾸기
- 🔢 S N줄 바꾸기
- 🔢 C 줄의 끝으로 변경 (및 N-1 더 많은 줄)
- 🔢 s N 문자를 바꾸다
- {visual}c 비주얼 블록 모드에서 : 입력 한 텍스트로 선택한 각 줄을 변경합니다
- {visual}C 비주얼 블록 모드에서 : 입력 한 텍스트로 줄 끝까지 선택된 각 줄을 변경합니다.
- {visual}~ 강조 표시된 텍스트의 경우 전환
- {visual}u 강조 표시된 텍스트를 소문자로 설정
- {visual}U 강조 표시된 텍스트를 대문자로 만듭니다.
- g~{motion} {motion}으로 이동 한 텍스트의 대소 문자 전환
- gu{motion} {motion}으로 옮긴 텍스트를 소문자로 만듭니다.
- gU{motion} {motion}으로 이동 한 텍스트를 대문자로 만듭니다.
- ⬇️ {visual}g? 강조 표시된 텍스트에서 rot13 인코딩 수행
- ⬇️ g?{motion} {motion}으로 이동 한 텍스트에서 rot13 인코딩 수행
- 🔢 CTRL-A 커서 위 또는 뒤에있는 숫자에 N을 더하다
- 🔢 CTRL-X 커서에서 또는 뒤에있는 숫자에서 N을 빼기
- 🔢 <{motion} {motion}으로 이동 한 줄을 한 이동 폭 왼쪽으로 이동
- 🔢 << N 라인을 한 이동 폭만큼 왼쪽으로 이동
- 🔢 >{motion} {motion}으로 이동 한 선을 한 이동 폭만큼 오른쪽으로 이동
- 🔢 >> N 라인을 한 이동 폭만큼 오른쪽으로 이동
- 🔢 gq{motion} {motion}으로 이동 한 행을 'textwidth'길이로 형식화
- ⬇️ :[range]ce[nter][width] [range]에서 선 중심
- ⬇️ :[range]le[ft][indent] [range]에서 줄을 왼쪽 정렬합니다 ([indent] 포함)
- ⬇️ :[ranee]ri[ght][width] [range]에서 선을 오른쪽 정렬합니다
+ Status Command Description
+ ------------------ ----------------------- ----------------------------------------------------------------------------
+ 🔢 c{motion} {motion}으로 이동 한 텍스트를 변경하십시오.
+ {visual}c 강조 표시된 텍스트를 변경
+ 🔢 cc N줄 바꾸기
+ 🔢 S N줄 바꾸기
+ 🔢 C 줄의 끝으로 변경 (및 N-1 더 많은 줄)
+ 🔢 s N 문자를 바꾸다
+ {visual}c 비주얼 블록 모드에서 : 입력 한 텍스트로 선택한 각 줄을 변경합니다
+ {visual}C 비주얼 블록 모드에서 : 입력 한 텍스트로 줄 끝까지 선택된 각 줄을 변경합니다.
+ {visual}~ 강조 표시된 텍스트의 경우 전환
+ {visual}u 강조 표시된 텍스트를 소문자로 설정
+ {visual}U 강조 표시된 텍스트를 대문자로 만듭니다.
+ g~{motion} {motion}으로 이동 한 텍스트의 대소 문자 전환
+ gu{motion} {motion}으로 옮긴 텍스트를 소문자로 만듭니다.
+ gU{motion} {motion}으로 이동 한 텍스트를 대문자로 만듭니다.
+ ⬇️ {visual}g? 강조 표시된 텍���트에서 rot13 인코딩 수행
+ ⬇️ g?{motion} {motion}으로 이동 한 텍스트에서 rot13 인코딩 수행
+ 🔢 CTRL-A 커서 위 또는 뒤에있는 숫자에 N을 더하다
+ 🔢 CTRL-X 커서에서 또는 뒤에있는 숫자에서 N을 빼기
+ 🔢 <{motion} {motion}으로 이동 한 줄을 한 이동 폭 왼쪽으로 이동
+ 🔢 << N 라인을 한 이동 폭만큼 왼쪽으로 이동
+ 🔢 >{motion} {motion}으로 이동 한 선을 한 이동 폭만큼 오른쪽으로 이동
+ 🔢 >> N 라인을 한 이동 폭만큼 오른쪽으로 이동
+ 🔢 gq{motion} {motion}으로 이동 한 행을 'textwidth'길이로 형식화
+ ⬇️ :[range]ce[nter][width] [range]에서 선 중심
+ ⬇️ :[range]le[ft][indent] [range]에서 줄을 왼쪽 정렬합니다 ([indent] 포함)
+ ⬇️ :[ranee]ri[ght][width] [range]에서 선을 오른쪽 정렬합니다

복잡한 변화

- Status Command Description Note
- ⬇️ 🔢 !{motion}{command}<CR> {command}를 통해 이동 한 행을 필터링
- ⬇️ 🔢 !!{command}<CR> {command}를 통해 N 라인 필터링
- ⬇️ {visual}!{command}<CR> {command}를 통해 강조 표시된 줄을 필터링하십시오.
- ⬇️ :[range]! {command}<CR> {command}를 통해 [range] 라인 필터링
- 🔢 ={motion} 'equalprg'를 통해 이동 한 라인을 필터링 through 'equalprg'
- 🔢 == 'equalprg'를 통해 N 라인 필터링
- {visual}= 'equalprg'를 통해 강조 표시된 줄을 필터링하십시오.
- ✅ ⭐ ⚠️ :[range]s[ubstitute]/{pattern}/{string}/[g][c] [range] 행에서 {string}으로 {pattern}을 대체하십시오. [g]로, 모든 {pattern}을 대체하십시오. [c]로 각 교체 확인 현재는 JavaScript 정규식 만 지원하며 gi 옵션 만 구현됩니다.
- ⬇️ :[range]s[ubstitute][g][c] 새로운 범위와 옵션으로 이전 ": s"반복
- ⬇️ & 옵션없이 현재 줄에서 이전 ": s"반복
- ⬇️ :[range]ret[ab][!] [tabstop] 'tabstop'을 새 값으로 설정하고 그에 따라 공백을 조정하십시오.
+ Status Command Description Note
+ ----------------------------------- ---------------------------------------------- -------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------
+ ⬇️ 🔢 !{motion}{command}<CR> {command}를 통해 이동 한 행을 필터링
+ ⬇️ 🔢 !!{command}<CR> {command}를 통해 N 라인 필터링
+ ⬇️ {visual}!{command}<CR> {command}를 통해 강조 표시된 줄을 필터링하십시오.
+ ⬇️ :[range]! {command}<CR> {command}를 통해 [range] 라인 필터링
+ 🔢 ={motion} 'equalprg'를 통해 이동 한 라인을 필터링 through 'equalprg'
+ 🔢 == 'equalprg'를 통해 N 라인 필터링
+ {visual}= 'equalprg'를 통해 강조 표시된 줄을 필터링하십시오.
+ ✅ ⭐ ⚠️ :[range]s[ubstitute]/{pattern}/{string}/[g][c] [range] 행에서 {string}으로 {pattern}을 대체하십시오. [g]로, 모든 {pattern}을 대체하십시오. [c]로 각 교체 확인 현재는 JavaScript 정규식 만 지원하며 gi 옵션 만 구현됩니다.
+ ⬇️ :[range]s[ubstitute][g][c] 새로운 범위와 옵션으로 이전 ": s"반복
+ ⬇️ & 옵션없이 현��� 줄에서 이전 ": s"반복
+ ⬇️ :[range]ret[ab][!] [tabstop] 'tabstop'을 새 값으로 설정하고 그에 따라 공백을 조정하십시오.

비주얼 모드

- Status Command Description
- v 문자 강조 표시 시작 또는 강조 표시 중지
- V 선으로 강조 표시 시작 또는 강조 표시 중지
- CTRL-V 블록 단위로 강조 표시 시작 또는 강조 표시 중지
- o 강조 표시 시작으로 커서 위치 교환
- gv 이전 시각적 영역에서 강조 표시 시작
+ Status Command Description
+ ------------------ ------- ----------------------------------------------
+ v 문자 강조 표시 시작 또는 강조 표시 중지
+ V 선으로 강조 표시 시작 또는 강조 표시 중지
+ CTRL-V 블록 ���위로 강조 표시 시작 또는 강조 표시 중지
+ o 강조 표시 시작으로 커서 위치 교환
+ gv 이전 시각적 영역에서 강조 표시 시작

텍스트 객체 (비주얼 모드에서만 또는 연산자 뒤)

- Status Command Description
- 🔢 aw "a word"를 선택하십시오.
- 🔢 iw "inner word"를 선택하십시오.
- 🔢 aW "a WORD"를 선택하십시오.
- 🔢 iW "inner WORD"를 선택하십시오.
- 🔢 as "a sentence"를 선택하십시오.
- 🔢 is "inner sentence"를 선택하십시오.
- 🔢 ap "a paragraph"를 선택하십시오.
- 🔢 ip "inner paragraph"를 선택하십시오.
- 🔢 a], a[ '[' ']'블록을 선택하십시오
- 🔢 i], i[ 내부 '[' ']'블록을 선택하십시오.
- 🔢 ab, a(, a) "a block"을 선택하십시오. ("[("에서 "])"까지)
- 🔢 ib, i), i( "inner block"을 선택하십시오. ("[("에서 "])"까지)
- 🔢 a>, a< "a <> block"을 선택하십시오.
- 🔢 i>, i< "inner <> block"을 선택하십시오.
- 🔢 aB, a{, a} "a Block"을 선택하십시오. ("[{"에서 "]}"까지)
- 🔢 iB, i{, i} "inner Block"을 ("[{"에서 "]}"까지)
- 🔢 at "a tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
- 🔢 it "inner tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
- 🔢 a' "a single quoted string"을 선택하십시오.
- 🔢 i' "inner single quoted string"을 선택하십시오.
- 🔢 a" "a double quoted string"을 선택하십시오.
- 🔢 i" "inner double quoted string"을 선택하십시오.
- 🔢 a` "a backward quoted string"을 선택하십시오.
- 🔢 i` "inner backward quoted string"을 선택하십시오.
+ Status Command Description
+ ------------------ ---------------------------------------------------------- --------------------------------------------------------------------
+ 🔢 aw "a word"를 선택하십시오.
+ 🔢 iw "inner word"를 선택하십시오.
+ 🔢 aW "a WORD"를 선택하십시오.
+ 🔢 iW "inner WORD"를 선택하십시오.
+ 🔢 as "a sentence"를 선택하십시오.
+ 🔢 is "inner sentence"를 선택하십시오.
+ 🔢 ap "a paragraph"를 선택하십시오.
+ 🔢 ip "inner paragraph"를 선택하십시오.
+ 🔢 a], a[ '[' ']'블록을 선택하십시오
+ 🔢 i], i[ 내부 '[' ']'블록을 선택하십시오.
+ 🔢 ab, a(, a) "a block"을 선택하십���오. ("[("에서 "])"까지)
+ 🔢 ib, i), i( "inner block"을 선택하십시오. ("[("에서 "])"까지)
+ 🔢 a>, a< "a <> block"을 선택하십시오.
+ 🔢 i>, i< "inner <> block"을 선택하십시오.
+ 🔢 aB, a{, a} "a Block"을 선택하십시오. ("[{"에서 "]}"까지)
+ 🔢 iB, i{, i} "inner Block"을 ("[{"에서 "]}"까지)
+ 🔢 at "a tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
+ 🔢 it "inner tag block"을 선택하십시오. (<aaa>에서 </aaa>까지)
+ 🔢 a' "a single quoted string"을 선택하십시오.
+ 🔢 i' "inner single quoted string"을 선택하���시오.
+ 🔢 a" "a double quoted string"을 선택하십시오.
+ 🔢 i" "inner double quoted string"을 선택하십시오.
+ 🔢 a` "a backward quoted string"을 선택하십시오.
+ 🔢 i` "inner backward quoted string"을 선택하십시오.

반복 명령

- Status Command Description Note
- ✅ ⭐ 🔢 . 마지막 변경을 반복합니다 (N으로 개수를 대체) 커서 아래에서 발생하지 않는 내용 변경은 반복 할 수 없습니다.
- q{a-z} 입력 된 문자를 레지스터 {a-z}에 기록
- ⬇️ q{A-Z} {a-z} 등록을 위해 추가 된 레코드 유형 문자
+ Status Command Description Note
+ ------------------------- --------------------------------- -------------------------------------------------------------------------------------------------- ------------------------------------------------------------
+ ✅ ⭐ 🔢 . 마지막 변경을 반복합니다 (N으로 개수를 대체) 커서 아래에서 발생하지 않는 내용 변경은 반복 할 수 없습니다.
+ q{a-z} 입력 된 문자를 레지스터 {a-z}에 기록
+ ⬇️ q{A-Z} {a-z} 등록을 위해 추가 된 레코드 유형 문자
q 녹화 중지
- 🔢 @{a-z} 레지스터 {a-z}의 내용을 실행합니다 (N 회)
- 🔢 @@ 이전 @ {a-z} 반복 (N 회)
- ⬇️ :@{a-z} 레지스터 {a-z}의 내용을 Ex 명령으로 실행
+ 🔢 @{a-z} 레지스터 {a-z}의 내용을 실행합니다 (N 회)
+ 🔢 @@ 이전 @ {a-z} 반복 (N 회)
+ ⬇️ :@{a-z} 레지스터 {a-z}의 내용을 Ex 명령으로 실행
⬇️ :@@ 이전 반복 : @ {a-z}
⬇️ :[range]g[lobal]/{pattern}/[cmd] execute Ex command cmd on the lines within [range] where {pattern} matches
⬇️ :[range]g[lobal]!/{pattern}/[cmd] execute Ex command cmd on the lines within [range] where {pattern} does NOT match
- ⬇️ :so[urce] {file} {file}에서 EX 명령을 읽습니다.
- ⬇️ :so[urce]! {file} {file}에서 Vim 명령을 읽습니다.
- ⬇️ :sl[eep][sec] [sec] 초 동안 아무 것도하지 마십시오
- ⬇️ 🔢 gs N 초 동안 절전 모드로 전환
+ ⬇️ :so[urce] {file} {file}에서 EX 명령을 읽습니다.
+ ⬇️ :so[urce]! {file} {file}에서 Vim 명령을 읽습니다.
+ ⬇️ :sl[eep][sec] [sec] 초 동안 아무 것도하지 마십시오
+ ⬇️ 🔢 gs N 초 동안 절전 모드로 전환

옵션

- Status Command Description Note
- ⬇️ :se[t] 수정 된 모든 옵션 표시
- ⬇️ :se[t] all 모든 non-termcap 옵션을 표시
- ⬇️ :se[t] termcap 모든 termcap 옵션을 표시
- :se[t] {option} set boolean option (switch it on), 문자열 또는 숫자 옵션 표시
- :se[t] no{option} boolean option 재설정(switch it off)
- :se[t] inv{option} boolean option 반전
- :se[t] {option}={value} 문자열 / 숫자 옵션을 {value}로 설정
- :se[t] {option}+={value} 문자열 옵션에 {value} 추가, 숫자 옵션에 {value} 추가
- ✅ ⭐ :se[t] {option}-={value} 문자열 옵션에서 {value}를 제거하고 숫자 옵션에서 {value}를 뺍니다. 여기서는 문자열 옵션을 지원하지 않습니다.
- :se[t] {option}? {option}의 가치를 보여주십시오.
- ⬇️ :se[t] {option}& {option}을 기본 값으로 재설정
- ⬇️ :setl[ocal] ": set"과 같지만 옵션이있는 옵션의 로컬 값을 설정하십시오.
- ⬇️ :setg[lobal] ": set"과 같지만 로컬 옵션의 전역 값을 설정하십시오.
- ⬇️ :fix[del] 't_kb'값에 따른 't_kD'값 설정
+ Status Command Description Note
+ ------------------------- ------------------------ -------------------------------------------------------------------------- -----------------------------------------
+ ⬇️ :se[t] 수정 된 모든 옵션 표시
+ ⬇️ :se[t] all 모든 non-termcap 옵션을 표시
+ ⬇️ :se[t] termcap 모든 termcap 옵션을 표시
+ :se[t] {option} set boolean option (switch it on), 문자열 또는 숫자 옵션 표시
+ :se[t] no{option} boolean option 재설정(switch it off)
+ :se[t] inv{option} boolean option 반전
+ :se[t] {option}={value} 문자열 / 숫자 옵션을 {value}로 설정
+ :se[t] {option}+={value} 문자열 옵션에 {value} 추가, 숫자 옵션에 {value} 추가
+ ✅ ⭐ :se[t] {option}-={value} 문자열 옵션에서 {value}를 제거하고 숫자 옵션에서 {value}를 뺍니다. 여기서는 문자열 옵션을 지원하지 않습니다.
+ :se[t] {option}? {option}의 가치를 보여주십시오.
+ ⬇️ :se[t] {option}& {option}을 기본 값으로 재설정
+ ⬇️ :setl[ocal] ": set"과 같지만 옵션이있는 옵션의 로컬 값을 설정하십시오.
+ ⬇️ :setg[lobal] ": set"과 같지만 로컬 옵션의 전역 값을 설정하십시오.
+ ⬇️ :fix[del] 't_kb'값에 따른 't_kD'값 설정
⬇️ :opt[ions] 기능별로 분류 된 옵션, 한 줄 설명 및 도움말 링크를 보려면 새 창을 엽니 다.

목록이 너무 길기 때문에 이미 지원되는 옵션을 여기에 넣습니다.

- Status Command Default Value Description
- tabstop (ts) 4. we use Code's default value tabSize instead of Vim 파일의 <Tab>이 사용하는 공백 수
- hlsearch (hls) false 이전 검색 패턴이 있으면 일치하는 항목을 모두 강조 표시하십시오.
- ignorecase (ic) true 검색 패턴에서 대소 문자를 무시하십시오.
- smartcase (scs) true 검색 패턴에 대문자가 포함 된 경우 'ignorecase'옵션을 대체하십시오.
- iskeyword (isk) @,48-57,_,128-167,224-235 키워드는 영숫자와 '\ _'를 포함합니다. iskeyword에 대한 사용자 설정이 없으면editor.wordSeparators 속성을 사용합니다.
- scroll (scr) 20 CTRL-U 및 CTRL-D 명령으로 스크롤 할 행의 수입니다.
- expandtab (et) True. we use Code's default value insertSpaces instead of Vim <Tab>을 삽입 할 때 공백을 사용하십시오.
- autoindent true 정상 모드에서cc 또는S를 수행 할 때 들여 쓰기를 유지하여 줄을 바꿉니다.
+ Status Command Default Value Description
+ ------------------ --------------- --------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------
+ tabstop (ts) 4. we use Code's default value tabSize instead of Vim 파일의 <Tab>이 사용하는 공백 수
+ hlsearch (hls) false 이전 검색 패턴이 있으면 일치하는 항목을 모두 강조 표시하십시오.
+ ignorecase (ic) true 검색 패턴에서 대소 문자를 무시하십시오.
+ smartcase (scs) true 검색 패턴에 대문자가 포함 된 경우 'ignorecase'옵션을 대체하십시오.
+ iskeyword (isk) @,48-57,_,128-167,224-235 키워드는 영숫자와 '\ _'를 포함합니다. iskeyword에 대한 사용자 설정이 없으면editor.wordSeparators 속성을 사용합니다.
+ scroll (scr) 20 CTRL-U 및 CTRL-D 명령으로 스크롤 할 행의 수입니다.
+ expandtab (et) True. we use Code's default value insertSpaces instead of Vim <Tab>을 삽입 할 때 공백을 사용하십시오.
+ autoindent true 정상 모드에서cc 또는S를 수행 할 때 들여 쓰기를 유지하여 줄을 바꿉니다.

실행 취소 / 재실행 명령

- Status Command Description Note
- 🔢 u undo last N changes 현재 구현이 모든 경우를 완벽하게 다루지는 않을 수 있습니다.
+ Status Command Description Note
+ ------------------ ------------- -------------------------- -----------------------------------------------------------
+ 🔢 u undo last N changes 현재 구현이 모든 경우를 완벽하게 다루지는 않을 수 있습니다.
🔢 CTRL-R redo last N undone changes 위와 같음
U restore last changed line

외부 명령

- Status Command Description
- ⬇️ :sh[ell] shell을 시작하다
- ⬇️ :!{command} shell로 {command}를 실행
- ⬇️ K 'keywordprg'프로그램이있는 커서 아래의 검색 키워드 (기본값 : "man")
+ Status Command Description
+ ------------ ----------- -------------------------------------------------------------------
+ ⬇️ :sh[ell] shell을 시작하다
+ ⬇️ :!{command} shell로 {command}를 실행
+ ⬇️ K 'keywordprg'프로그램이있는 커서 아래의 검색 키워드 (기본값 : "man")

전 번호

- Status Command Description Note
- , 두 줄 번호를 구분
- ✅ ⭐ ; idem, 두 번째 행을 해석하기 전에 커서를 첫 번째 행 번호로 설정하십시오. 커서 이동은 포함되지 않습니다.
- {number} 절대적인 line number
- . 현재 줄
- $ 파일의 마지막 줄
- % 1,$와 같음 (전체 파일)
- * '<,'>은 같음(시작적 영역)
- 't mark t의 위치
- ⬇️ /{pattern}[/] {pattern}이 일치하는 다음 줄
- ⬇️ ?{pattern}[?] {pattern}이 일치하는 이전 줄
- +[num] 앞 줄 번호에 [num]을 추가하십시오 (기본값 : 1).
- -[num] 이전 줄 번호에서 [num]을 뺍니다 (기본값 : 1).
+ Status Command Description Note
+ ------------------------- ------------- ------------------------------------------------------------------------------------------------------ ----
+ , 두 줄 번호를 구분
+ ✅ ⭐ ; idem, 두 번째 행을 해석하기 전에 커서를 첫 번째 행 번호로 설정하십시오. 커서 이동은 포함되지 않습니다.
+ {number} 절대적인 line number
+ . 현재 줄
+ $ 파일의 마지막 줄
+ % 1,$와 같음 (전체 파일)
+ * '<,'>은 같음(시작적 영역)
+ 't mark t의 위치
+ ⬇️ /{pattern}[/] {pattern}이 일치하는 다음 줄
+ ⬇️ ?{pattern}[?] {pattern}이 일치하는 이전 ���
+ +[num] 앞 줄 번호에 [num]을 추가하십시오 (기본값 : 1).
+ -[num] 이전 줄 번호에서 [num]을 뺍니다 (기본값 : 1).

파일 편집

- Status Command Description Note
- ✅ ⭐ :e[dit] {file} Edit {file}. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
+ Status Command Description Note
+ ------------------------- -------------- ------------ -----------------------------------------------------------------------
+ ✅ ⭐ :e[dit] {file} Edit {file}. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.

Multi-window 명령

- Status Command Description Note
- ✅ ⭐ :e[dit] {file} {file}을 편집하십시오. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
- ✅ ⭐ <ctrl-w> hl 창 사이를 전환합니다. VS Code에는 Window라는 개념이 없으므로 이러한 명령을 그룹화 된 편집기 간 전환에 매핑합니다.
- :sp {file} 현재 창을 두개로 나눕니다.
- ✅ ⭐ :vsp {file} 세로로 현재 창을 두 개로 나눕니다.
- <ctrl-w> s 현재 창을 두개로 나눕니다.
- ✅ ⭐ <ctrl-w> v 세로로 현재 창을 두 개로 나눕니다.
- :new 새 창을 가로로 만들고 빈 파일 편집을 시작하십시오.
- ✅ ⭐ :vne[w] 새 창을 세로로 만들고 빈 파일 편집을 시작하십시오.
+ Status Command Description Note
+ ------------------------- ----------------- -------------------------------------------------- -------------------------------------------------------------------------------------------
+ ✅ ⭐ :e[dit] {file} {file}을 편집하십시오. 현재 탭에서 열지 않고 현재 그룹화 된 편집기의 새 탭에서 파일을 엽니 다.
+ ✅ ⭐ <ctrl-w> hl 창 사이를 전환합니다. VS Code에는 Window라는 개념이 없으므로 이러한 명령을 그룹화 된 편집기 간 전환에 매핑합니다.
+ :sp {file} 현재 창을 두개로 나눕니다.
+ ✅ ⭐ :vsp {file} 세로로 현재 창을 두 개로 나눕니다.
+ <ctrl-w> s 현재 창을 두개로 나눕니다.
+ ✅ ⭐ <ctrl-w> v 세로로 현재 창을 두 개로 나눕니다.
+ :new 새 창을 가로로 만들고 빈 파일 편집을 시작하십시오.
+ ✅ ⭐ :vne[w] 새 창을 세로로 만들고 빈 파일 편집을 시작하십시오.

- Status Command Description Note
+ Status Command Description Note
+ ------------------------- ------------------------------------ ------------------------------------------------------------------------------------- ---------------------------------------------------------------
:tabn[ext] 🔢 다음 탭 페이지 또는 탭 페이지 {count}로 이동하십시오. 첫 번째 탭 페이지는 1 번입니다.
- {count}<C-PageDown>, {count}gt 위와 동일
- :tabp[revious] 🔢 이전 탭 페이지로 이동하십시오. 첫 번째부터 마지막까지 감싸줍니다.
- :tabN[ext] 🔢 위와 동일
- {count}<C-PageUp>, {count}gT 위와 동일
- :tabfir[st] 첫 번째 탭 페이지로 이동하십시오.
- :tabl[ast] 마지막 탭 페이지로 이동하십시오.
- :tabe[dit] {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
- ⬇️ :[count]tabe[dit], :[count]tabnew 위와 동일 [count] 는 지원되지 않습니다.
- :tabnew {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
- ⬇️ :[count]tab {cmd} {cmd}를 실행하고 새 창이 열리면 대신 새 탭 페이지를여십시오.
- ✅ ⭐ :tabc[lose][!] 🔢 현재 탭 페이지를 닫거나 탭 페이지 {count}를 닫습니다. 코드는 저장하지 않고 탭을 직접 닫습니다.
- ✅ ⭐ :tabo[nly][!] 다른 모든 탭 페이지를 닫습니다. !는 지원되지 않으며, 코드는 저장하지 않고 탭을 직접 닫습니다.
- :tabm[ove][n] 현재 탭 페이지를 탭 페이지 N 이후로 이동하십시오.
- ⬇️ :tabs 탭 페이지와 포함 된 창을 나열하십시오. 항상 코드의 내장 단축키를 사용할 수 있습니다 :cmd / ctrl + p
- ⬇️ :tabd[o] {cmd} 각 탭 페이지에서 {cmd}를 실행하십시오.
+ {count}<C-PageDown>, {count}gt 위와 동일
+ :tabp[revious] 🔢 이전 탭 페이지로 이동하십시오. 첫 번째부터 마지막까지 감싸줍니다.
+ :tabN[ext] 🔢 위와 동일
+ {count}<C-PageUp>, {count}gT 위와 동일
+ :tabfir[st] 첫 번째 탭 페이지로 이동하십시오.
+ :tabl[ast] 마지막 탭 페이지로 이동하십시오.
+ :tabe[dit] {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
+ ⬇️ :[count]tabe[dit], :[count]tabnew 위와 동일 [count] 는 지원되지 않습니다.
+ :tabnew {file} 현재 탭 페이지 다음에 빈 창이있는 새 탭 페이지를 엽니 다.
+ ⬇️ :[count]tab {cmd} {cmd}를 실행하고 새 창이 열리면 대신 새 탭 페이지를여십시오.
+ ✅ ⭐ :tabc[lose][!] 🔢 현재 탭 페이지를 닫거나 탭 페이지 {count}를 닫습니다. 코드는 저장하지 않고 탭을 직접 닫습니다.
+ ✅ ⭐ :tabo[nly][!] 다른 모든 탭 페이지를 닫습니다. !는 지원되지 않으며, 코드는 ���장하지 않고 탭을 직접 닫습니다.
+ :tabm[ove][n] 현재 탭 페이지를 탭 페이지 N 이후로 이동하십시오.
+ ⬇️ :tabs 탭 페이지와 포함 된 창을 나열하십시오. 항상 코드의 내장 단축키를 사용할 수 있습니다 :cmd / ctrl + p
+ ⬇️ :tabd[o] {cmd} 각 탭 페이지에서 {cmd}를 실행하십시오.

Folding

@@ -558,33 +558,33 @@ folding 방법은 'foldmethod' 옵션으로 설정할 수 있습니다. 현재 C

모든 fold-related가 this issue에 의해 차단되었습니다.

- Status Command Description
- ⬇️ zf{motion} or {Visual}zf fold를 만드는 연산자입니다.
- ⬇️ zF [count] 줄의 fold를 만듭니다. "zf"처럼 작동합니다.
- ⬇️ zd 커서에서 하나의 fold를 삭제하십시오.
- ⬇️ zD 커서에서 fold를 재귀적으로 삭제합니다.
- ⬇️ zE 창의 모든 fold를 제거하십시오.
- zo 커서 아래에 하나의 fold를 엽니다. 카운트가 주어지면 그 많은 폴드가 열립니다.
- zO 커서 아래의 모든 fold를 재귀적으로 엽니다.
- zc 커서 아래에서 한 개의 fold를 닫습니다. 카운트가 주어지면 깊은 곳의 많은 folds가 닫힙니다.
- zC 커서 아래의 모든fold를 재귀적으로 닫습니다.
- za 닫힌 fold에있을 때 : 여십시오. 열린 fold시 : 닫고 '접을 수 있음'을 설정하십시오.
- ⬇️ zA 열린 fold에 있을 때: 재귀적으로 엽니다. 닫힌 fold에 있을 때 : 재귀적으로 닫고 'foldenable'을 설정하십시오.
- ⬇️ zv View cursor line: 라인을 만들기에 충분한 fold를 엽니다.
- ⬇️ zx 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
- ⬇️ zX Update folds : 수동으로 열리고 닫힌 fold를 취소합니다. 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
- ⬇️ zm Fold more : 'foldlevel'에서 하나를 빼십시오.
- zM Close all folds : 'foldlevel'을 0으로 설정하십시오. 'foldenable'이 설정됩니다.
- ⬇️ zr Reduce folding : '폴더'에 하나를 추가하십시오.
- zR Open all fold. 'foldlevel'을 가장 높은 접기 수준으로 설정합니다.
- ⬇️ zn Fold none : 'foldenable'을 재설정하십시오. 모든 주름이 열립니다.
- ⬇️ zN Fold normal : 'foldenable'을 설정하십시오. 모든 주름은 이전과 동일합니다.
- ⬇️ zi 'foldenable'을 반전시킵니다.
- ⬇️ [z 현재 열린 fold 시작으로 이동합니다.
- ⬇️ ]z 현재 열린 fold의 끝으로 이동합니다.
- ⬇️ zj 다음 fold의 시작 부분으로 아래로 이동하십시오.
- ⬇️ zk 이전 fold의 끝으로 위로 이동하십시오.
+ Status Command Description
+ ------------------ ------------------------ -----------------------------------------------------------------------------------------------------------------------------
+ ⬇️ zf{motion} or {Visual}zf fold를 만드는 연산자입니다.
+ ⬇️ zF [count] 줄의 fold를 만듭니다. "zf"처럼 작동합니다.
+ ⬇️ zd 커서에서 하나의 fold를 삭제하십시오.
+ ⬇️ zD 커서에서 fold를 재귀적으로 삭제합니다.
+ ⬇️ zE 창의 모든 fold를 제거하십시오.
+ zo 커서 아래에 하나의 fold를 엽니다. 카운트가 주어지면 그 많은 폴드가 열립니다.
+ zO 커서 아래의 모든 fold를 재귀적으로 엽니다.
+ zc 커서 아래에서 한 개의 fold를 닫습니다. 카운트가 주어지면 깊은 곳의 많은 folds가 닫힙니다.
+ zC 커서 아래의 모든fold를 재귀적으로 닫습니다.
+ za 닫힌 fold에있을 때 : 여십시오. 열린 fold시 : 닫고 '접을 수 있음'을 설정하십시오.
+ ⬇️ zA 열린 fold에 있을 때: 재귀적으로 엽니다. 닫힌 fold에 있을 때 : 재귀적으로 닫고 'foldenable'을 설정하십시오.
+ ⬇️ zv View cursor line: 라인을 만들기에 충분한 fold를 엽니다.
+ ⬇️ zx 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
+ ⬇️ zX Update folds : 수동으로 열리고 닫힌 fold를 취소합니다. 'foldlevel'을 다시 적용한 다음 "zv"를 수행하십시오. 커서 행을보십시오.
+ ⬇️ zm Fold more : 'foldlevel'에서 하나를 빼십시오.
+ zM Close all folds : 'foldlevel'을 0으로 설정하십시오. 'foldenable'이 설정됩니다.
+ ⬇️ zr Reduce folding : '폴더'에 하나를 추가하십시오.
+ zR Open all fold. 'foldlevel'을 가장 높은 접기 수준으로 설정합니다.
+ ⬇️ zn Fold none : 'foldenable'을 재설정하십시오. 모든 주름이 열립니다.
+ ⬇️ zN Fold normal : 'foldenable'을 설정하십시오. 모든 주름은 이전과 동일합니다.
+ ⬇️ zi 'foldenable'을 반전시킵니다.
+ ⬇️ [z 현재 열린 fold 시작으로 이동합니다.
+ ⬇️ ]z 현재 열린 fold의 끝으로 이동합니다.
+ ⬇️ zj 다음 fold의 시작 부분으로 아래로 이동하십시오.
+ ⬇️ zk 이전 fold의 끝으로 위로 이동하십시오.

Fold 옵션

diff --git a/src/actions/commands/actions.ts b/src/actions/commands/actions.ts
index 20b91f9..6384f34 100644
--- a/src/actions/commands/actions.ts
+++ b/src/actions/commands/actions.ts
@@ -449,7 +449,11 @@ class CommandInsertWord extends BaseCommand {
@RegisterAction
class CommandRecordMacro extends BaseCommand {
modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['q', ''], ['q', ''], ['q', '"']];
  • keys = [

  • ['q', ''],

  • ['q', ''],

  • ['q', '"'],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    const register = this.keysPressed[1];
    @@ -2296,7 +2300,10 @@ export class CommandShowCommandHistory extends BaseCommand {
    @RegisterAction
    export class CommandShowSearchHistory extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['q', '/'], ['q', '?']];
  • keys = [

  • ['q', '/'],

  • ['q', '?'],

  • ];

    private direction = SearchDirection.Forward;

@@ -3032,7 +3039,10 @@ class CommandGoForwardInChangelist extends BaseCommand {
@RegisterAction
class CommandGoStartPrevOperatedText extends BaseCommand {
modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['`', '['], ["'", '[']];
  • keys = [

  • ['`', '['],

  • ["'", '['],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3048,7 +3058,10 @@ class CommandGoStartPrevOperatedText extends BaseCommand {
    @RegisterAction
    class CommandGoEndPrevOperatedText extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine, ModeName.VisualBlock];

  • keys = [['`', ']'], ["'", ']']];
  • keys = [

  • ['`', ']'],

  • ["'", ']'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3064,7 +3077,10 @@ class CommandGoEndPrevOperatedText extends BaseCommand {
    @RegisterAction
    class CommandGoLastChange extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['`', '.'], ["'", '.']];
  • keys = [

  • ['`', '.'],

  • ["'", '.'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3314,7 +3330,12 @@ class CommandNavigateLastBOL extends BaseCommand {
    @RegisterAction
    class CommandQuit extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['', 'q'], ['', ''], ['', 'c'], ['', '']];
  • keys = [

  • ['', 'q'],

  • ['', ''],

  • ['', 'c'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    new QuitCommand({}).execute();
    @@ -3326,7 +3347,10 @@ class CommandQuit extends BaseCommand {
    @RegisterAction
    class CommandOnly extends BaseCommand {
    modes = [ModeName.Normal];

  • keys = [['', 'o'], ['', '']];
  • keys = [

  • ['', 'o'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    new OnlyCommand({}).execute();
    @@ -3402,7 +3426,10 @@ class MoveToLeftPane extends BaseCommand {
    @RegisterAction
    class CycleThroughPanes extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', ''], ['', 'w']];
  • keys = [

  • ['', ''],

  • ['', 'w'],

  • ];
    isJump = true;

    public async exec(position: Position, vimState: VimState): Promise {
    @@ -3423,7 +3450,10 @@ class BaseTabCommand extends BaseCommand {
    @RegisterAction
    class VerticalSplit extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', 'v'], ['', '']];
  • keys = [

  • ['', 'v'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    vimState.postponedCodeViewChanges.push({
    @@ -3438,7 +3468,10 @@ class VerticalSplit extends BaseCommand {
    @RegisterAction
    class OrthogonalSplit extends BaseCommand {
    modes = [ModeName.Normal, ModeName.Visual, ModeName.VisualLine];

  • keys = [['', 's'], ['', '']];
  • keys = [

  • ['', 's'],

  • ['', ''],

  • ];

    public async exec(position: Position, vimState: VimState): Promise {
    vimState.postponedCodeViewChanges.push({
    diff --git a/src/actions/motion.ts b/src/actions/motion.ts
    index ca96602..2fd533f 100644
    --- a/src/actions/motion.ts
    +++ b/src/actions/motion.ts
    @@ -791,7 +791,10 @@ class MoveScreenLineCenter extends MoveByScreenLine {
    @RegisterAction
    export class MoveUpByDisplayLine extends MoveByScreenLine {
    modes = [ModeName.Insert, ModeName.Normal, ModeName.Visual];

  • keys = [['g', 'k'], ['g', '']];
  • keys = [
  • ['g', 'k'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'up';
    by: CursorMoveByUnit = 'wrappedLine';
    value = 1;
    @@ -800,7 +803,10 @@ export class MoveUpByDisplayLine extends MoveByScreenLine {
    @RegisterAction
    class MoveDownByDisplayLine extends MoveByScreenLine {
    modes = [ModeName.Insert, ModeName.Normal, ModeName.Visual];
  • keys = [['g', 'j'], ['g', '']];
  • keys = [
  • ['g', 'j'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'down';
    by: CursorMoveByUnit = 'wrappedLine';
    value = 1;
    @@ -814,7 +820,10 @@ class MoveDownByDisplayLine extends MoveByScreenLine {
    @RegisterAction
    class MoveUpByScreenLineVisualLine extends MoveByScreenLine {
    modes = [ModeName.VisualLine];
  • keys = [['g', 'k'], ['g', '']];
  • keys = [
  • ['g', 'k'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'up';
    by: CursorMoveByUnit = 'line';
    value = 1;
    @@ -823,7 +832,10 @@ class MoveUpByScreenLineVisualLine extends MoveByScreenLine {
    @RegisterAction
    class MoveDownByScreenLineVisualLine extends MoveByScreenLine {
    modes = [ModeName.VisualLine];
  • keys = [['g', 'j'], ['g', '']];
  • keys = [
  • ['g', 'j'],
  • ['g', ''],
  • ];
    movementType: CursorMovePosition = 'down';
    by: CursorMoveByUnit = 'line';
    value = 1;
    @@ -832,7 +844,10 @@ class MoveDownByScreenLineVisualLine extends MoveByScreenLine {
    @RegisterAction
    class MoveUpByScreenLineVisualBlock extends BaseMovement {
    modes = [ModeName.VisualBlock];
  • keys = [['g', 'k'], ['g', '']];
  • keys = [

  • ['g', 'k'],

  • ['g', ''],

  • ];
    doesntChangeDesiredColumn = true;

    public async execAction(position: Position, vimState: VimState): Promise<Position | IMovement> {
    @@ -848,7 +863,10 @@ class MoveUpByScreenLineVisualBlock extends BaseMovement {
    @RegisterAction
    class MoveDownByScreenLineVisualBlock extends BaseMovement {
    modes = [ModeName.VisualBlock];

  • keys = [['g', 'j'], ['g', '']];
  • keys = [

  • ['g', 'j'],

  • ['g', ''],

  • ];
    doesntChangeDesiredColumn = true;

    public async execAction(position: Position, vimState: VimState): Promise<Position | IMovement> {
    diff --git a/src/actions/plugins/sneak.ts b/src/actions/plugins/sneak.ts
    index 9284c26..e72283c 100644
    --- a/src/actions/plugins/sneak.ts
    +++ b/src/actions/plugins/sneak.ts
    @@ -7,7 +7,10 @@ import { BaseMovement, IMovement } from '../baseMotion';

@RegisterAction
export class SneakForward extends BaseMovement {

  • keys = [['s', '', ''], ['z', '', '']];
  • keys = [

  • ['s', '', ''],

  • ['z', '', ''],

  • ];

    public couldActionApply(vimState: VimState, keysPressed: string[]): boolean {
    const startingLetter = vimState.recordedState.operator === undefined ? 's' : 'z';
    @@ -46,7 +49,7 @@ export class SneakForward extends BaseMovement {

    const ignorecase =
      configuration.sneakUseIgnorecaseAndSmartcase &&
    
  •    (configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString)));
    
  •    configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString));
    
     // Check for matches
     if (ignorecase) {
    

@@ -68,7 +71,10 @@ export class SneakForward extends BaseMovement {

@RegisterAction
export class SneakBackward extends BaseMovement {

  • keys = [['S', '', ''], ['Z', '', '']];
  • keys = [

  • ['S', '', ''],

  • ['Z', '', ''],

  • ];

    public couldActionApply(vimState: VimState, keysPressed: string[]): boolean {
    const startingLetter = vimState.recordedState.operator === undefined ? 'S' : 'Z';
    @@ -106,7 +112,7 @@ export class SneakBackward extends BaseMovement {

    const ignorecase =
      configuration.sneakUseIgnorecaseAndSmartcase &&
    
  •    (configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString)));
    
  •    configuration.ignorecase && !(configuration.smartcase && /[A-Z]/.test(searchString));
    
     // Check for matches
     if (ignorecase) {
    

diff --git a/src/configuration/configuration.ts b/src/configuration/configuration.ts
index ded8494..e64450d 100644
--- a/src/configuration/configuration.ts
+++ b/src/configuration/configuration.ts
@@ -276,14 +276,24 @@ class Configuration implements IConfiguration {
@overlapSetting({
settingName: 'lineNumbers',
defaultValue: true,

  • map: new Map([['on', true], ['off', false], ['relative', false], ['interval', false]]),
  • map: new Map([
  •  ['on', true],
    
  •  ['off', false],
    
  •  ['relative', false],
    
  •  ['interval', false],
    
  • ]),
    })
    number: boolean;

@overlapSetting({
settingName: 'lineNumbers',
defaultValue: false,

  • map: new Map([['on', false], ['off', false], ['relative', true], ['interval', false]]),
  • map: new Map([
  •  ['on', false],
    
  •  ['off', false],
    
  •  ['relative', true],
    
  •  ['interval', false],
    
  • ]),
    })
    relativenumber: boolean;

diff --git a/src/state/recordedState.ts b/src/state/recordedState.ts
index 322521e..1ceee1f 100644
--- a/src/state/recordedState.ts
+++ b/src/state/recordedState.ts
@@ -167,7 +167,7 @@ export class RecordedState {
mode !== ModeName.SearchInProgressMode &&
mode !== ModeName.CommandlineInProgress &&
(this.hasRunAMovement ||

  •    (mode === ModeName.Visual || mode === ModeName.VisualLine) ||
    
  •    mode === ModeName.Visual || mode === ModeName.VisualLine ||
       (this.operators.length > 1 &&
         this.operators.reverse()[0].constructor === this.operators.reverse()[1].constructor))
    
    );
    diff --git a/test/actions/baseAction.test.ts b/test/actions/baseAction.test.ts
    index ddd01a0..4172c8a 100644
    --- a/test/actions/baseAction.test.ts
    +++ b/test/actions/baseAction.test.ts
    @@ -12,7 +12,10 @@ class TestAction1D extends BaseAction {
    }

class TestAction2D extends BaseAction {

  • keys = [['a', 'b'], ['c', 'd']];
  • keys = [
  • ['a', 'b'],
  • ['c', 'd'],
  • ];
    modes = [ModeName.Normal];
    }

@@ -36,7 +39,14 @@ suite('base action', () => {
[[['a'], ['b']], ['c'], false],
[['a', 'b'], ['a', 'b'], true],
[['a', 'b'], ['a', 'c'], false],

  •  [[['a', 'b'], ['c', 'd']], ['c', 'd'], true],
    
  •  [
    
  •    [
    
  •      ['a', 'b'],
    
  •      ['c', 'd'],
    
  •    ],
    
  •    ['c', 'd'],
    
  •    true,
    
  •  ],
     [[''], ['a'], false],
     [['<Esc>'], ['<Esc>'], true],
    
    ];
    diff --git a/test/jumpTracker.test.ts b/test/jumpTracker.test.ts
    index 1da5fb0..2e89e5a 100644
    --- a/test/jumpTracker.test.ts
    +++ b/test/jumpTracker.test.ts
    @@ -170,7 +170,13 @@ suite('Record and navigate jumps', () => {
    // Note the column number was preserved for newer jump when it found duplicates on a line.
    assert.deepEqual(
    jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),
  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1'], [3, 5, 'file1'], [4, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •      [3, 5, 'file1'],
    
  •      [4, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting two lines`
     );
    

@@ -183,7 +189,12 @@ suite('Record and navigate jumps', () => {
// Preserve the newest jump in that case
assert.deepEqual(
jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),

  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1'], [3, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •      [3, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting another line`
     );
    

@@ -195,7 +206,11 @@ suite('Record and navigate jumps', () => {
// If you delete lines such that jumps are past EOF, delete the jumps
assert.deepEqual(
jumpTracker.jumps.map(j => [j.position.line, j.position.character, j.fileName]),

  •    [[0, 0, 'file2'], [5, 0, 'file2'], [0, 0, 'file1']],
    
  •    [
    
  •      [0, 0, 'file2'],
    
  •      [5, 0, 'file2'],
    
  •      [0, 0, 'file1'],
    
  •    ],
       `Jump tracker doesn't contain the expected jumps after deleting all lines in file`
     );
    

    });
    diff --git a/test/testSimplifier.ts b/test/testSimplifier.ts
    index ba6176e..52a8e29 100644
    --- a/test/testSimplifier.ts
    +++ b/test/testSimplifier.ts
    @@ -27,7 +27,10 @@ export function getTestingFunctions() {

    test(testObj.title, async () =>
    testIt

  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

@@ -42,7 +45,10 @@ export function getTestingFunctions() {

 test.only(testObj.title, async () =>
   testIt
  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

@@ -56,7 +62,10 @@ export function getTestingFunctions() {

 test.skip(testObj.title, async () =>
   testIt
  •    .bind(null, await getAndUpdateModeHandler())(testObj)
    
  •    .bind(
    
  •      null,
    
  •      await getAndUpdateModeHandler()
    
  •    )(testObj)
       .catch((reason: Error) => {
         reason.stack = niceStack;
         throw reason;
    

Prettier Failed. Run [13:19:32] Using gulpfile ~/build/VSCodeVim/Vim/gulpfile.js
[13:19:32] Starting 'forceprettier'...
[13:19:48] Finished 'forceprettier' after 16 s and commit changes to resolve.


</details>


###### TravisBuddy Request Identifier: 6c61f000-104f-11ea-a65a-5f455ab5a299

@DokyungHwang DokyungHwang changed the title First PR Basic translation of necessary documents Nov 26, 2019
@jpoon
Copy link
Member

jpoon commented Apr 18, 2020

Due to the lack of activity, I'm closing this PR. Please re-open once the comments have been addressed.

@jpoon jpoon closed this Apr 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants