runtime(doc): include vietnamese.txt
Since Vietnamese keymaps in Vim is quite differences from the
corresponding input methods, let's document the Vietnamese specifics in
vietnames.txt
related: #16144
Signed-off-by: Phạm Bình An <111893501+brianhuster@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/doc/Make_all.mak b/runtime/doc/Make_all.mak
index ccc429b..1715382 100644
--- a/runtime/doc/Make_all.mak
+++ b/runtime/doc/Make_all.mak
@@ -152,6 +152,7 @@
vim9.txt \
vim9class.txt \
visual.txt \
+ vietnamese.txt \
windows.txt \
workshop.txt
@@ -303,6 +304,7 @@
version8.html \
version9.html \
vi_diff.html \
+ vietnamese.html \
vimindex.html \
vim9.html \
vim9class.html \
diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile
index 707b24b..00ea541 100644
--- a/runtime/doc/Makefile
+++ b/runtime/doc/Makefile
@@ -151,6 +151,9 @@
os_win32.txt:
touch $@
+vietnamese.txt:
+ touch $@
+
# In *BSD, the variable '$<' is used in suffix-transformation rules (in GNU this
# is called "implicit rules", and in MS Windows it is called "inference rules").
# For code portability, it is better to use the '$?' variable for explicit rules.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index d44dd81..5e57f25 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5786,6 +5786,7 @@
VIMINIT starting.txt /*VIMINIT*
VMS os_vms.txt /*VMS*
Vi intro.txt /*Vi*
+Vietnamese vietnamese.txt /*Vietnamese*
View starting.txt /*View*
Vim9 vim9.txt /*Vim9*
Vim9-abstract-class vim9class.txt /*Vim9-abstract-class*
@@ -11241,6 +11242,15 @@
vi: options.txt /*vi:*
vi_diff.txt vi_diff.txt /*vi_diff.txt*
vib motion.txt /*vib*
+vietnamese vietnamese.txt /*vietnamese*
+vietnamese-ime_diff vietnamese.txt /*vietnamese-ime_diff*
+vietnamese-intro vietnamese.txt /*vietnamese-intro*
+vietnamese-keymap vietnamese.txt /*vietnamese-keymap*
+vietnamese-l18n vietnamese.txt /*vietnamese-l18n*
+vietnamese-telex_utf-8 vietnamese.txt /*vietnamese-telex_utf-8*
+vietnamese-viqr_utf-8 vietnamese.txt /*vietnamese-viqr_utf-8*
+vietnamese-vni_utf-8 vietnamese.txt /*vietnamese-vni_utf-8*
+vietnamese.txt vietnamese.txt /*vietnamese.txt*
view starting.txt /*view*
view-diffs diff.txt /*view-diffs*
view-file starting.txt /*view-file*
diff --git a/runtime/doc/vietnamese.txt b/runtime/doc/vietnamese.txt
new file mode 100644
index 0000000..0ed8e2e
--- /dev/null
+++ b/runtime/doc/vietnamese.txt
@@ -0,0 +1,86 @@
+*vietnamese.txt* For Vim version 9.1. Last change: 2024 Dec 02
+
+
+ VIM REFERENCE MANUAL by Phạm Bình An
+
+
+Vietnamese language support in Vim *vietnamese* *Vietnamese*
+
+1. Introduction |vietnamese-intro|
+2. Vietnamese keymaps |vietnamese-keymap|
+3. Localization |vietnamese-l18n|
+
+===============================================================================
+1. Introduction
+ *vietnamese-intro*
+
+Vim supports Vietnamese language in the following ways:
+
+- Built-in |vietnamese-keymap|, which allows you to type Vietnamese characters
+ in |Insert-mode| and |search-commands| using US keyboard layout.
+- Localization in Vietnamese. See |vietnamese-l18n|
+
+===============================================================================
+2. Vietnamese keymaps
+ *vietnamese-keymap*
+
+To switch between languages you can use your system native keyboard switcher,
+or use one of the Vietnamese keymaps included in the Vim distribution, like
+below >
+ :set keymap=vietnamese-telex_utf-8
+<
+See |'keymap'| for more information.
+
+In the latter case, you can type Vietnamese even if you do not have a
+Vietnamese input method engine (IME) or you want Vim to be independent from a
+system-wide keyboard settings (when |'imdisable'| is set). You can also |:map|
+a key to switch between keyboards.
+
+Vim comes with the following Vietnamese keymaps:
+- *vietnamese-telex_utf-8* Telex input method, |UTF-8| encoding.
+- *vietnamese-viqr_utf-8* VIQR input method, |UTF-8| encoding.
+- *vietnamese-vni_utf-8* VNI input method, |UTF-8| encoding.
+
+ *vietnamese-ime_diff*
+
+Since these keymaps were designed to be minimalistic, they do not support all
+features of the corresponding input methods. The differences are described
+below:
+
+- You can only type each character individually, entering the base letter first
+ and then the diacritics later. For example, to type the word `nến` using
+ |vietnamese-vni_utf-8|, you must type `ne61n`, not `nen61` or `ne6n1`
+- For characters with more than 1 diacritic, you need to type vowel mark before
+ tone mark. For example, to type `ồ` using |vietnamese-telex_utf-8|, you need
+ to type `oof`, not `ofo`.
+- With |vietnamese-telex_utf-8|, you need to type all uppercase letters to
+ produce uppercase characters with diacritics. For example, `Ừ` must be typed
+ as `UWF`.
+- With |vietnamese-telex_utf-8|, the escape character `\` from VNI is added,
+ hence the confusing `ooo` input to type `oo` is removed, which could lead to
+ ambiguities. For example, to type the word `Đoòng`, you would type
+ `DDo\ofng`.
+- Simple Telex (both v1 and v2), including the `w[]{}` style, is not
+ supported.
+- Removing diacritics using `z` in Telex or `0` in VNI and VIQR is not supported.
+
+===============================================================================
+3. Localization
+ *vietnamese-l18n*
+
+Vim |messages| are also available in Vietnamese. If you wish to see messages in
+Vietnamese, you can run the command |:language| with an argument being the name
+of the Vietnamese locale. For example, >
+ :language vi_VN
+< or >
+ :language vi_VN.utf-8
+<
+Note that the name of the Vietnamese locale may vary depending on your system.
+See |mbyte-first| for details.
+
+|vimtutor| is also available in Vietnamese. To start Vimtutor in Vietnamese,
+run the following command in terminal: >sh
+ vimtutor vi
+<
+===============================================================================
+vim:tw=78:ts=8:noet:ft=help:norl: