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

Rationale for Undefined Keys in Search Mode #263

Open
jkroes opened this issue Apr 3, 2020 · 3 comments
Open

Rationale for Undefined Keys in Search Mode #263

jkroes opened this issue Apr 3, 2020 · 3 comments
Labels
enhancement: tweak & config augment existing features, behaviors & configurations priority: 2 - low status: in-progress

Comments

@jkroes
Copy link

jkroes commented Apr 3, 2020

Is your feature request related to a problem? Please describe.
Not a problem per se. Every fuzzy search plugin in Vim is different, but certain features are shared by multiple plugins. In particular, many fuzzy searchers can include punctuation characters in a search query, either as literal characters or special characters for regex-based queries. I was surprised that this plugin generates an error message " Key doesn't work in this view." I managed to make some test queries search for literal period characters with

let g:CtrlSpaceKeys = {'Search': {'.': 'ctrlspace#keys#search#AddLetter'}}

Is there any reason I shouldn't do this? There must be a reason this isn't enabled by default, right?

Describe the solution you'd like
An explanation of the default keymappings and the consequences of modifying them.

Version(s) (please complete the following information):

  • OS:
    Ubuntu 18.04 (technically the ubuntu:18.04 docker image)
  • :version
    NVIM v0.4.3
    Build type: RelWithDebInfo
    LuaJIT 2.0.5
    Compilation: /usr/bin/gcc-5 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -O2 -g -DMIN_LOG_LEVEL=3 -Og -g -Wall -Wextra -pedan
    tic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wvla -fstack-prot
    ector-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM
    _UNIBI_HAS_VAR_FROM -I/home/travis/build/neovim/bot-ci/build/neovim/build/config -I/home/travis/build/neovim/bot-ci/bu
    ild/neovim/src -I/home/travis/build/neovim/bot-ci/build/neovim/.deps/usr/include -I/usr/include -I/home/travis/build/n
    eovim/bot-ci/build/neovim/build/src/nvim/auto -I/home/travis/build/neovim/bot-ci/build/neovim/build/include
    Compiled by travis@travis-job-9a287301-34f2-4b86-92e3-462594f51f36

Features: +acl +iconv +tui

system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/home/travis/build/neovim/bot-ci/build/neovim/build/nvim.AppDir/usr/share/nvim"

@Konfekt
Copy link
Collaborator

Konfekt commented Apr 4, 2020

Good point. From what I can see at

" autoload/ctrlspace/keys/search.vim (line 12)
call ctrlspace#keys#AddMapping("ctrlspace#keys#search#AddLetter",           "Search", ["lowercase", "uppercase", "numbers"])

it seems an omission, and perhaps we could add other printable characters to

" autoload/ctrlspace/keys.vim (line 52)
function! s:initKeyNames()

that allow a mapping in Vim that is set up

" autoload/ctrlspace/keys.vim (line 118)
function! ctrlspace#keys#AddMapping(funcName, mapName, keys)

Unfortunately, non-ASCII characters are therefore not readily mapped. But at least, say, all punctuation characters should be added.

Konfekt added a commit to Konfekt/vim-ctrlspace that referenced this issue Apr 20, 2020
Konfekt added a commit to Konfekt/vim-ctrlspace that referenced this issue Apr 20, 2020
@jyscao
Copy link
Collaborator

jyscao commented Nov 8, 2020

I fully agree that the default keys should include some sensible punctuation chars.

@jyscao jyscao added enhancement: tweak & config augment existing features, behaviors & configurations status: in-progress priority: 2 - low labels Nov 10, 2020
@Konfekt
Copy link
Collaborator

Konfekt commented Apr 16, 2022

@jkroes Did the merged PR sufficiently address this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement: tweak & config augment existing features, behaviors & configurations priority: 2 - low status: in-progress
Projects
None yet
Development

No branches or pull requests

3 participants