Arafat Hasan
Arafat Hasan

Reputation: 3187

How to take 'password' like input in vimscript?

 let username = input('Enter username: ')
 let passw = input('Enter password: ')

While typing password on vim input field, it should not be displayed (or something like ******* should be displayed). How do I achieve this?

Upvotes: 3

Views: 513

Answers (1)

user852573
user852573

Reputation: 1750

You could try using the inputsecret() function:

let username = inputsecret('Enter username: ')
let passw = inputsecret('Enter password: ')

Description of the function from :h inputsecret(:

inputsecret({prompt} [, {text}])            *inputsecret()*
    This function acts much like the |input()| function with but
    two exceptions:
    a) the user's response will be displayed as a sequence of
    asterisks ("*") thereby keeping the entry secret, and
    b) the user's response will not be recorded on the input
    |history| stack.
    The result is a String, which is whatever the user actually
    typed on the command-line in response to the issued prompt.
    NOTE: Command-line completion is not supported.

Upvotes: 3

Related Questions