mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-08-23 22:16:48 +00:00
feat: add vim-smartcase
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
---
|
||||
title: vim-smartcase
|
||||
homepage: https://webinstall.dev/vim-smartcase
|
||||
tagline: |
|
||||
vim smartcase is Vim's built-in semi-insensitive case matching
|
||||
---
|
||||
|
||||
To update (replacing the current version) run `webi vim-smartcase`.
|
||||
|
||||
### Files
|
||||
|
||||
These are the files / directories that are created and/or modified with this
|
||||
install:
|
||||
|
||||
```txt
|
||||
~/.vimrc
|
||||
~/.vim/plugins/smartcase.vim
|
||||
```
|
||||
|
||||
## Cheat Sheet
|
||||
|
||||
Vim search `/foo` is case-sensitive by default, but comes with options for
|
||||
swapping that to be:
|
||||
|
||||
1. _case-insensitive_ by default - i.e. `/foo\c`
|
||||
2. and _case-sensitive_ on mixed-case search - i.e. `/Foo\C`
|
||||
|
||||
This vim-smartcase plugin adds `set ignorecase` and `set smartcase` to your
|
||||
`~/.vimrc`.
|
||||
|
||||
### Case Sensitivity in Vim
|
||||
|
||||
```vim
|
||||
" treat everything in text and search as lowercase
|
||||
set ignorecase
|
||||
```
|
||||
|
||||
```vim
|
||||
" treat mixed case as case sensitive
|
||||
" requires 'ignorecase' to work
|
||||
set smartcase
|
||||
```
|
||||
|
||||
```vim
|
||||
" explicit case-insensitive search for 'Bar'
|
||||
" (\c can go anywhere in the search)
|
||||
/Bar\c
|
||||
/\cBar
|
||||
/Ba\cr
|
||||
```
|
||||
|
||||
```vim
|
||||
" explicit case-sensitive search for 'Bar'
|
||||
" (\C can go anywhere in the search)
|
||||
/Bar\C
|
||||
/\CBar
|
||||
/Ba\Cr
|
||||
```
|
||||
|
||||
### How to do this manually
|
||||
|
||||
Set `~/.vimrc`:
|
||||
|
||||
```vim
|
||||
" make searches case-insensitive by default (i.e. /foo\c)
|
||||
:set ignorecase
|
||||
" make mixed-case searches case-sensitive by default (i.e. /Foo\C)
|
||||
:set smartcase
|
||||
|
||||
" fyi: you can put \c or \C before, after, or in the middle of a search
|
||||
" ex: /Bar\c or /\cBar or /B\car
|
||||
```
|
||||
|
||||
Available at
|
||||
<https://github.com/webinstall/webi-installers/blob/master/vim-smartcase/smartcase.vim>
|
||||
@@ -0,0 +1,36 @@
|
||||
#!/bin/sh
|
||||
|
||||
__init_vim_smartcase() {
|
||||
set -e
|
||||
set -u
|
||||
|
||||
mkdir -p "$HOME/.vim/plugins"
|
||||
rm -rf "$HOME/.vim/plugins/smartcase.vim"
|
||||
|
||||
echo ""
|
||||
|
||||
if [ ! -e "$HOME/.vimrc" ]; then
|
||||
touch "$HOME/.vimrc"
|
||||
fi
|
||||
|
||||
if ! [ -f "$HOME/.vim/plugins/smartcase.vim" ]; then
|
||||
mkdir -p ~/.vim/plugins
|
||||
WEBI_HOST=${WEBI_HOST:-"https://webinstall.dev"}
|
||||
curl -fsS -o ~/.vim/plugins/smartcase.vim "$WEBI_HOST/packages/vim-smartcase/smartcase.vim"
|
||||
fi
|
||||
|
||||
if ! grep 'source.*plugins.smartcase.vim' -r ~/.vimrc > /dev/null 2> /dev/null; then
|
||||
set +e
|
||||
mkdir -p ~/.vim/plugins
|
||||
printf '\n" Smart Case: reasonable defaults from webinstall.dev/vim-smartcase\n' >> ~/.vimrc
|
||||
printf 'source ~/.vim/plugins/smartcase.vim\n' >> ~/.vimrc
|
||||
set -e
|
||||
echo "added ~/.vim/plugins/smartcase.vim"
|
||||
echo "updated ~/.vimrc with 'source ~/.vim/plugins/smartcase.vim'"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echo "vim-smartcase enabled with reasonable defaults"
|
||||
}
|
||||
|
||||
__init_vim_smartcase
|
||||
@@ -0,0 +1,7 @@
|
||||
" make searches case-insensitive by default (i.e. /foo\c)
|
||||
:set ignorecase
|
||||
" make mixed-case searches case-sensitive by default (i.e. /Foo\C)
|
||||
:set smartcase
|
||||
|
||||
" fyi: you can put \c or \C before, after, or in the middle of a search
|
||||
" ex: /Bar\c or /\cBar or /B\car
|
||||
Reference in New Issue
Block a user