summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/keymap/polish-slash.vim18
-rw-r--r--src/search.c7
2 files changed, 22 insertions, 3 deletions
diff --git a/runtime/keymap/polish-slash.vim b/runtime/keymap/polish-slash.vim
new file mode 100644
index 000000000..1a2f18c66
--- /dev/null
+++ b/runtime/keymap/polish-slash.vim
@@ -0,0 +1,18 @@
+let encoding = &enc
+if encoding == 'latin1'
+ if has("unix")
+ let encoding = 'iso-8859-2'
+ else
+ let encoding = 'cp1250'
+ endif
+endif
+
+if encoding == 'utf-8'
+ source <sfile>:p:h/polish-slash_utf-8.vim
+elseif encoding == 'cp1250'
+ source <sfile>:p:h/polish-slash_cp1250.vim
+elseif encoding == 'iso-8859-2'
+ source <sfile>:p:h/polish-slash_iso-8859-2.vim
+else
+ source <sfile>:p:h/polish-slash_cp852.vim
+endif
diff --git a/src/search.c b/src/search.c
index 1d1bc3b31..17dc5bd40 100644
--- a/src/search.c
+++ b/src/search.c
@@ -3124,13 +3124,14 @@ current_word(oap, count, include, bigword)
return FAIL;
if (include != (cls() == 0))
{
- if (fwd_word(1L, bigword, TRUE) == FAIL)
+ if (fwd_word(1L, bigword, TRUE) == FAIL && count > 1)
return FAIL;
/*
* If end is just past a new-line, we don't want to include
- * the first character on the line
+ * the first character on the line.
+ * Put cursor on last char of white.
*/
- if (oneleft() == FAIL) /* put cursor on last char of white */
+ if (oneleft() == FAIL)
inclusive = FALSE;
}
else