Minor mode keymaps already override the global key map. But I see that
evil-insert-state-map is a minor mode map, in which case it can override the other minor modes if it is earlier in the mode list. (See chapter 23.8 Searching the Active Keymaps for a concise description of exactly which keymaps are searched and in what order.) You can use
C-h b to get a list of active key maps, and the order they are searched in, for the current buffer.
You could bind
C-k to a new command that checks to see if smartparens is enabled, and only calls
kill-line if it is not. That won’t scale, but for one command it is simple enough.
A quick check of the evil-mode documentation (
C-h i is your friend), shows that if you want to do it right then you should add a hook to
evil-insert-state-entry-hook which will check for smartparens mode and enable an additional minor mode containing your keybindings. That way you could bind
evil-insert-state-keymap, and then bind it to
sp-kill-hybrid-sexp in your new minor mode’s keymap. The new minor mode will be first in the minor mode list, ensuring that it shadows the bindings in the
evil-insert-state-keymap. Naturally you would want to remove that minor mode in a hook added to